2009-06-22 21 views
5

Zastanawiam się, jak poprawnie skompresować obraz PNG.Kompresja PNG z PHP magickwand

Sytuacja jest taka:

mam obraz PNG kompresowane i kolor zredukowana z Irfanview na Windows. To około 20 KB. Kiedy moje oprogramowanie portalu zmienia rozmiar (używając magickwand 1.0.7) z domyślnymi wartościami, to około 63K (!).

Następną próbą było wywołanie MagickSetImageDepth ($ this -> _ imageHandler, 8), w wyniku czego rozmiar pliku 34K, który jest lepszy, ale nadal jest większy niż oryginalny plik (większy wymiar).

Żadna z udokumentowanych funkcji nie pasuje do dalszego kompresowania obrazu.

Każda wskazówka byłaby bardzo ceniona!

Greetz, Sosa

Odpowiedz

1

programy kompresji PNG i procedury użyciu różnych technik. Dowiedziałem się, że wiele razy obraz, który został już skompresowany (lub zapisany sprawnie), nie może być dalej kompresowany lub ma większy rozmiar pliku.

W twoim przypadku powiedziałbym, że twoje obrazy nie mogą być dalej kompresowane, przynajmniej używając MagickWand. Możesz po prostu pominąć ten krok.

Być może najlepszym rozwiązaniem byłaby optymalizacja plików PNG przed uruchomieniem. W tym przypadku dostępnych jest wiele opcji. Miałem szczęście z PNGGauntlet. Możesz uruchomić zadanie wsadowe na PNGGauntlet i pominie ono pliki, które zostałyby większe, jeśli takie istnieją.