7

Кто-нибудь может порекомендовать хороший метод массового преобразования большого количества файлов PNG-24 в PNG-8 с минимальной потерей качества и сохранением прозрачности?

Я пробовал ImageMagick, но получаемые изображения были не такими четкими, как хотелось бы. Используя Paint.NET, я смог добиться гораздо лучших результатов, но, насколько я знаю, я не могу выполнить массовый процесс с этим инструментом.

Настройки, которые я использовал с ImageMagick на случай, если есть лучшие варианты:convert file.png -depth 4 file-output.png

Я также играл с OptiPNG, но я не обнаружил, чтобы убедиться, что выходные изображения - PNG-8.

4 ответа4

6

pngquant как раз и является инструментом для этого. Он генерирует палитры лучше, чем ImageMagick.

pngquant --quality=0-90 *.png

Это преобразует все файлы png в текущем каталоге и автоматически выбирает количество цветов для достижения качества, аналогичного 90% -ному качеству JPEG.

(если он не принимает ключ --quality это означает, что у вас ужасно устаревшая некачественная версия, и вы должны обновить ее).

2

GIMP хорошо работает, оптимизируя сокращенные палитры. Он имеет режим --batch и может быть в сценарии. Также имеет несколько привязок, так что вы можете написать, например, скрипт GIMP на Python.

1

Я нашел этот замечательный инструмент в своем поиске - RIOT - Radical Image Optimization Tool

Делает все, что мне нужно, и позволяет вам увидеть сравнение изображений до и после, прежде чем выполнять пакетный процесс.

Обновить

В последних версиях RIOT появилась ошибка, из-за которой некоторые изображения выводились в оттенках серого - http://luci.criosweb.ro/riot/bbpress/topic.php?id=471.

0

В качестве замены RIOT я начал использовать optipng через следующую командную строку для обработки всего каталога в Windows:

for /r %f in (*.png) do "C:\optipng-0.7.5-win32\optipng.exe" -o3 -strip all "%f"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .