Как раздеть 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 не использовал "фильтрацию" для улучшения сжатия.