Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP + AnimowaneGIFy
Forum PHP.pl > Forum > PHP
frantic09
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
ciekawskiii
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
frantic09
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.