Z imagepng() strony człowieka związanego z pytaniem,
filtry
pozwala na zmniejszenie rozmiaru pliku PNG. Jest to pole bitmaskowe, które może być ustawione na dowolną kombinację stałych PNG_FILTER_XXX. PNG_NO_FILTER> lub PNG_ALL_FILTERS mogą być również użyte do odpowiednio wyłączenia lub uaktywnienia wszystkich filtrów.
Więc niech libpng spróbować None, sub, i filtrów, można użyć
PNG_FILTER_NONE|PNG_FILTER_SUB|PNG_FILTER_UP
PNG_ALL_FILTERS jest tylko skrótem
PNG_FILTER_NONE|PNG_FILTER_SUB|PNG_FILTER_UP|PNG_FILTER_AVG|PNG_FILTER_PAETH
Jak dla którego filtr używać , to zależy od obrazu. Obrazy zawierające 256 lub mniej kolorów generalnie kompresują się lepiej z PNG_NO_FILTER, podczas gdy obrazy o wielu kolorach (takie jak zdjęcia) generalnie lepiej kompresują PNG_FILTER_SUB lub PNG_ALL_FILTERS. Aplikacje takie jak "optipng" lub mój "pngcrush" starają się zoptymalizować wybór filtra. Jeśli zamierzasz użyć jednej z tych aplikacji firm trzecich do ostatecznej optymalizacji, powinieneś po prostu użyć PNG_NO_FILTERS do swoich kopii roboczych, dla szybkości.
Więc którego z nich użyć? – cronoklee