Как раздеть png изображения с помощью ImageMagick?

convert -strip -interlace JPEG -quality 80 origi.jpg output-file.jpg

размер исходного изображения: 40,6 кб, размер выходного файла: 11,3 кб

Но если я конвертирую один png файл как

convert -strip -interlace PNG -quality 80 he.png output-file.png

he.png размер изображения: 711 КБ, размер выходного файла: 1 МБ

convert -strip -interlace PNG he.png output-file.png

he.png размер изображения: 711 КБ, размер выходного файла: 972,3 КБ

Почему размер файла был увеличен в случае PNG после преобразования в output-file.png?

Я использую правильные параметры для преобразования PNG?

1 ответ

Если вы преобразуете обычное изображение PNG в чересстрочное, результирующий размер файла, вероятно, будет больше, как объяснено в спецификации PNG (выделение добавлено):

Проходное извлечение... разбивает изображение PNG на последовательность уменьшенных изображений (чересстрочное изображение PNG), где первое изображение определяет грубое изображение, а последующие изображения усиливают это грубое изображение, пока последнее изображение не завершит изображение PNG. Это позволяет прогрессивному отображению чересстрочного PNG-изображения декодером и позволяет изображениям "появляться", когда они отображаются на лету. В среднем, чересстрочное развертывание немного увеличивает размер потока данных, но оно может значительно ускорить отображение значимого пользователя.

Параметр "-quality 80" оказался бесполезным, поскольку из-за этого ImageMagick не использовал "фильтрацию" для улучшения сжатия.

Другие вопросы по тегам