Справка ImageMagick — должна изменить DPI

У меня есть изображение на 1000x1000 300 точек на дюйм, которое я должен преобразовать в миниатюру на 100x100 96 точек на дюйм. Как я делаю это в ImageMagick? Я после самого маленького размера файла в максимально возможном качестве.

Выполнение чего-то вроде этого:

convert myimage.png -quality 100 -resize 100 PNG8:mynewimage.png

.... действительно изменяет размер, но все еще поддерживает DPI. Если я могу заставить это изменяться на 96 точек на дюйм, я должен получить меньший размер файла.

Я попробовал -density, и т.д., но, может казаться, не заставляет их работать на меня. Возможно, я поместил команды в неправильный порядок или передал неправильные параметры. Любая помощь значительно ценится.Спасибо.

7
задан StackOverflowNewbie 2 June 2010 в 22:58
поделиться

1 ответ

Краткая версия: если вам нужно изображение размером 100x100 в формате PNG, уже имеющаяся у вас строка даст вам наилучшее качество при минимальном размере файла. Вы не можете добиться большего без а) кодирования в формат с потерями (JPEG) или б) уменьшения глубины цвета вашего изображения.

Для более подробного объяснения, прямо из Википедии: «Точек на дюйм (DPI) - это мера пространственной печати или плотности точек видео, в частности количество отдельных точек, которые могут быть размещены в строке в пределах 1 дюйм (2,54 см). Значение DPI имеет тенденцию коррелировать с разрешением изображения, но связано только косвенно . "

DPI не имеет ничего общего с уменьшением размера файла; ваше изображение 100x100 имеет размер 100x100 пикселей , независимо от того, видите ли вы его на экране с разрешением 300 точек на дюйм или 96 точек на дюйм (на экране с разрешением 300 точек на дюйм оно будет выглядеть меньше). Количество информации в любом случае одинаковое.

«- density» тоже не поможет, так как работает только при «кодировании растрового изображения при рендеринге (чтении) векторных форматов, таких как Postscript, PDF, WMF и SVG, в растровое изображение». Эти форматы не зависят от разрешения, поэтому имеет смысл указать ImageMagick разрешение, до которого вы хотите растрировать изображение. Однако ваш DPI должен зависеть от устройства вывода, которое вы планируете использовать. В вашем случае, поскольку вы начинаете с уже растеризованного изображения, это бесполезно.

PNG - это формат без потерь, поэтому параметр -quality управляет только уровнем сжатия zlib; любое увеличение размера изображения будет минимальным, но его стоит использовать.

5
ответ дан 7 December 2019 в 12:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: