Witam serdecznie,
poszukuję klasy/funkcji która optymalizowałaby wielkość plików GIF zgodnie z zadaną ilością kolorów na wejściu. Przykładowo mam schemat elektryczny otrzymany w pliku PNG - max 4 - 16 kolorow. Uzycie domyslnej Imagegif i później zapisanie robi mi z tego 256 kolorow i zwieksza rozmiar np. z 30 kb do uzyskania w JPG (z minimalna strata) do 130kb w pliku GIF. Tyle ze to bez sensu zeby 2 kolorowy gif zajmowal wiecej niz JPG. Stąd też pytanie, i żeby nie wywarzać drzwi, czy posiadacie jakiś kod optymalizujący takiego GIFA, ew. na wejściu mogę mu podawać nawet zakres kolorów które mają się w nim znaleźć; ew. czy moge prosic o wskazowki. Pozdrawiam, b.

Sobie odpowiem znalezione na PHP.net i już trochę przerobione pod moją klasę:
  1. function ImageTrueColorToPalette2($image, $dither, $ncolors) {
  2. $width = $this->getWidth();
  3. $height = $this->getHeight();
  4. $colors_handle = ImageCreateTrueColor( $width, $height );
  5. ImageCopyMerge( $colors_handle, $image, 0, 0, 0, 0, $width, $height, 100 );
  6. ImageTrueColorToPalette( $image, $dither, $ncolors );
  7. ImageColorMatch( $colors_handle, $image );
  8. ImageDestroy($colors_handle);
  9. $this->image = $image;
  10. }

można zamknąć smile.gif