ImageMagick:缩小图像大小

时间:2015-01-02 10:35:49

标签: imagemagick photoshop imagemagick-convert

我使用ImageMagick来降低图像分辨率,高度和宽度。

我注意到了一些事情。当我在"图像大小"通过Photoshop(版本7)从300dpi到150dpi的图像高度和宽度自动更改。

然而,使用ImageMagick,我没有得到这样的变化。例如,如果图像在300dpi时包含878宽度和179高度,则在将其更改为150 dpi时,图像宽度将自动分别更改为439和高度89.

任何人都可以支持我如何通过ImageMagick获取此类更改。

2 个答案:

答案 0 :(得分:4)

dpi设置在大多数成像应用程序/区域中并不重要,直到您要打印图像为止。

你真的需要设置吗?我的意思是,如果你想要一半大小的图像,只需使用ImageMagick并执行:

convert input.jpg -resize 50x50% output.jpg

并忽略dpi。

答案 1 :(得分:1)

要调整图像大小以保持渲染大小相同,您可以使用-resample 选项,如:

$ convert original.jpg -resample 150x150 new.jpg

使用您的示例,如果原件是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

您也可以使用 -density 选项以及 -resize 选项达到同样的效果:

$ convert original.jpg -density 150x150 -resize 50%x50% new.jpg

总结:

  • -density 只需设置DPI元数据而不更改基础图像;
  • -resize 更改图像大小而不更改DPI;
  • -resample 更改DPI并相应调整图像大小。

用途

当您需要打印图像或将其转换为 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