Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ImageMagick:减小图像大小_Imagemagick_Photoshop_Imagemagick Convert - Fatal编程技术网

ImageMagick:减小图像大小

ImageMagick:减小图像大小,imagemagick,photoshop,imagemagick-convert,Imagemagick,Photoshop,Imagemagick Convert,我正在使用ImageMagick降低图像分辨率、高度和宽度 我注意到了一些事情。当我通过Photoshop(第7版)将“图像大小”的分辨率从300dpi更改为150dpi时,图像的高度和宽度会自动更改 然而,对于ImageMagick,我没有得到这样的变化。例如,如果图像在300dpi时包含878宽度和179高度,当将其更改为150dpi时,图像宽度将自动分别更改为439和89高度 任何人都可以支持我如何通过ImageMagick获得这些更改。dpi设置在大多数成像应用程序/区域中实际上并不相关

我正在使用ImageMagick降低图像分辨率、高度和宽度

我注意到了一些事情。当我通过Photoshop(第7版)将“图像大小”的分辨率从300dpi更改为150dpi时,图像的高度和宽度会自动更改

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


任何人都可以支持我如何通过ImageMagick获得这些更改。

dpi设置在大多数成像应用程序/区域中实际上并不相关,直到您想要打印图像时为止

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

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

并忽略dpi。

要调整图像大小,使渲染大小保持不变,可以使用 选项,例如:

$ 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
您也可以使用 选项以及 实现相同效果的选项:

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

  • 只需设置DPI元数据而不更改基础图像
  • 在不改变DPI的情况下改变图像大小
  • 更改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