use*_*827 4 photoshop imagemagick imagemagick-convert
我正在使用 ImageMagick 来降低图像分辨率、高度和宽度。
我注意到了一些事情。当我通过 Photoshop(第 7 版)将“图像大小”的分辨率从 300dpi 更改为 150dpi 时,图像的高度和宽度会自动更改。
但是使用 ImageMagick 我没有得到这样的变化。例如,如果图像在 300dpi 时包含 878 宽和 179 高,当将其更改为 150 dpi 时,图像宽度将自动分别更改为 439 和 89。
任何人都可以支持我如何通过 ImageMagick 获得此类更改。
要调整图像大小以保持渲染大小相同,您可以使用该-resample
选项,如下所示:
$ convert original.jpg -resample 150x150 new.jpg
Run Code Online (Sandbox Code Playgroud)
使用您的示例,如果原始图像是 300DPI 的 878x179 图像,则结果是 150DPI 的 439x90 图像:
$ file original.jpg
original.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 300x300,
segment length 16, baseline, precision 8, 878x179, frames 3
$ file new.jpg
new.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 150x150,
segment length 16, baseline, precision 8, 439x90, frames 3
Run Code Online (Sandbox Code Playgroud)
您也可以将
-density
选项与选项一起使用
-resize
以达到相同的效果:
$ convert original.jpg -density 150x150 -resize 50%x50% new.jpg
Run Code Online (Sandbox Code Playgroud)
总之:
当您需要打印图像或将其转换为PDF时,DPI元数据是相关的。
现在您可以将两个图像转换为 PDF 并获得具有基本相同页面大小的文件:
$ convert original.jpg original.pdf
$ convert new.jpg new.pdf
$ pdfinfo original.pdf | grep -a "Page size:"
Page size: 210.72 x 42.96 pts
$ pdfinfo new.pdf | grep -a "Page size:"
Page size: 210.72 x 43.2 pts
Run Code Online (Sandbox Code Playgroud)
该dpi设置在大多数成像应用程序/领域中并不真正相关,直到您想要打印图像时为止。
真的需要设置吗?我的意思是,如果您想将图像大小减半,只需使用 ImageMagick 并执行以下操作:
convert input.jpg -resize 50x50% output.jpg
Run Code Online (Sandbox Code Playgroud)
并忽略 dpi。