Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP + AnimowaneGIFy
frantic09
post 7.03.2011, 10:47:48
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 6
Dołączył: 7.03.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam!

Mam na celu uploadowanie na serwer obrazków różnych wielkości w rozszerzeniach JPG,PNG oraz GIF... Właśnie... oraz GIF. Upload, resize i zapis na dysku działa w przypadku JPG i PNG... natomiast nie działa przy ruchomych GIFach...

kod funkcji w skrócie wygląda następująco
  1. private function createthumb($name,$filename,$new_w,$new_h)
  2. {
  3. $system=explode('.',$name);
  4. if (preg_match('/jpg|jpeg|JPG|JPEG/',$system[1])){
  5. $src_img=imagecreatefromjpeg($name);
  6. }
  7. if (preg_match('/png|PNG/',$system[1])){
  8. $src_img=imagecreatefrompng($name);
  9. }
  10. if (preg_match('/gif|GIF/',$system[1])){
  11. $src_img=imagecreatefromgif($name);
  12. }
  13. $old_x=imageSX($src_img);
  14. $old_y=imageSY($src_img);
  15. if ($old_x > $old_y) {
  16. $thumb_w=$new_w;
  17. $thumb_h=$old_y*($new_h/$old_x);
  18. }
  19. if ($old_x < $old_y) {
  20. $thumb_w=$old_x*($new_w/$old_y);
  21. $thumb_h=$new_h;
  22. }
  23. if ($old_x == $old_y) {
  24. $thumb_w=$new_w;
  25. $thumb_h=$new_h;
  26. }
  27. $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
  28. imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
  29.  
  30. if (preg_match("/png|PNG/",$system[1]))
  31. {
  32. imagepng($dst_img,$filename);
  33. }
  34. elseif (preg_match("/gif|GIF/",$system[1]))
  35. {
  36. imagegif($dst_img,$filename);
  37. }
  38. else
  39. {
  40. imagejpeg($dst_img,$filename);
  41. }
  42. imagedestroy($dst_img);
  43. imagedestroy($src_img);
  44. }


Porblem, jak już wspomniałem, jest jedynie przy animowanych GIFach... zapisuje je jako "nieanimowane". Wydaje mi się, że problem może występować podczas zmiany rozmiarów GIFa, ale wolę spytać bardziej doświadczonych specjalistów.

Z góry za wszelkie pomysły, podpowiedzi albo zwykłe "tego się nie da zrobić" z góry bardzo dziękuję wink.gif

PS: wiem, że to mój pierwszy post na tym forum, ale postaram się tu częściej wchodzić! php.gif

Ten post edytował frantic09 7.03.2011, 11:04:21


--------------------
  1. echo "Wydaje mi się, że mogłoby to zadziałać... ;)";
Go to the top of the page
+Quote Post
ciekawskiii
post 7.03.2011, 23:25:55
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Jakies dwa dni temu w przedszkolu byl taki temat i tam widzialem jakies rozwiazanie... Czy to byl tez Twoj temat?wink.gif poszukaj.
p.s.Juz Ci znalazlem
Temat: przeskalowanie animowanego GIFa

Ten post edytował ciekawskiii 7.03.2011, 23:45:44


--------------------
Go to the top of the page
+Quote Post
frantic09
post 9.03.2011, 14:11:31
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 6
Dołączył: 7.03.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat(ciekawskiii @ 7.03.2011, 23:25:55 ) *
Jakies dwa dni temu w przedszkolu byl taki temat i tam widzialem jakies rozwiazanie... Czy to byl tez Twoj temat?wink.gif poszukaj.
p.s.Juz Ci znalazlem
Temat: przeskalowanie animowanego GIFa


Hm... to nie był mój temat... dzięki za naprowadzenie, jednakże nie mam aż takiego dostępu do serwera, żeby to zainstalować, dlatego szukam innych sposobów na rozwiązanie tego problemu wink.gif

Ten post edytował frantic09 9.03.2011, 14:40:52


--------------------
  1. echo "Wydaje mi się, że mogłoby to zadziałać... ;)";
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 15:40