[php] problem z gifem

0

Heh... sorry że was tak męcze ale może dzieki temu bede umiał więcej ;) pracuje cały czas nad jednym skrpytem i mam problem. Chodzi o upload pliku GIF i zmiane jego jakości. Z plikami JPEG nie ma problemu ale tu jest ;/ Funkcja imagejpeg(); posiada argument quality dzięki któremu można łatwo zmienić jakość pliku. Niestety w funkcji imagegif(); takiego czegoś nie ma. Na początku poradziłem sobie tak że tworzyło nowego jpega i kopiowało gifa do tego jpega. Wszystko by było super tylko że jpegi nie są ruchome :/ da się to jakoś wykombinować inaczej żeby dało się ustawiać jakość i żeby gif był animowany?

Mój aktualny kod dla gifów:

<?php
header("Content-type: image/jpeg");
$thumb = imagecreatetruecolor($newwidth, $newheight);
$im = imagecreatefromgif('gifs/'.$filnam2);
imagecopyresized($thumb, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($thumb, false, $quality);
imagedestroy($thumb);
?>

Z góry dziękuje!

0

Niestety nie da ustawić jakości dla plików GIF, gdyż jest to bez stratny format plików. Jeżeli jest to jakiś skrypt np do awatarów do forum, to po prostu sprawdzaj ich rozmiar i/lub rozdzielczość i odrzucaj te nie spełniające kryteriów

0

co do animacji gif'a to odpowiedź masz tutaj http://4programmers.net/Forum/viewtopic.php?id=92884

0
pethus napisał(a)

Niestety nie da ustawić jakości dla plików GIF, gdyż jest to bez stratny format plików.

No niby tak.... ale.... jak otworze gifa sposobem którego kod jest wyżej to zmniejsza sie rozmiar pliku, nie widać zmian w jakości... ale niestety to już jest JPEG ;( i nie ma mowy o animowanym gifie :(

Kiedyś widziałem stronke która zmniejszała ilość kolorów w GIFach ale jak dobrze pamietam to chyba nie było w php napisane :/ jest jakiś sposób na zrobienie tego?

0

Gify można optymalizować na kilka sposobów, w szczególności te animowane.

0

no wiem np. zmniejszenie liczby klatek itp. ale da się to zrobić w phpie?

0

Jakbys przestudiował konstrukcję plików gif, to podejrzewam, że sie da.
Jednym ze sposobów jest między innymi redukcja palety barw. Ale jeszcze jak gif jest animowany to np na pierwszą klatkę nakłada się tylko te piksele które się zmieniają, znacząco to zmniejszało rozmiar animacji w gifie. Nie pamiętam, ale kiedyś jak bawiłem sie w animowane gify, najczęściej używałem GifAnimator'a w nim było bardzo ładnie to widać.
Jeszcze dochodzi sposób kompresji LZW(Lempel - Ziv i Welch).
http://ptolemy.eecs.berkeley.edu/eecs20/sidebars/images/gif.html - specyfikacja i nie tylko, niestety po angielsku :/
http://72.14.221.104/search?q=cachewww.zszychlin.hg.pl/download1/pafiledb.php%3Faction%3Ddownload%26id%3D5+kompresja+gif+sposoby&hl=pl&gl=pl&ct=clnk&cd=7 - tu możesz poczytac ogółem o kompresji mediów. Tekst PL

1 użytkowników online, w tym zalogowanych: 0, gości: 1