ImageMagick可以返回图像尺寸吗?
image
image-processing
imagemagick
5
0

我从命令行使用ImageMagick调整图像大小:

convert -size 320x240 image.jpg

但是,我不知道如何确定最终图像的大小。由于这是成比例的图像比例,因此新图像的大小很有可能为100x240或320x90(而不是320x240)。

我可以调用“转换”命令来调整图像大小并返回新的图像尺寸吗?例如,伪代码:

convert -size 320x240 -return_new_image_dimension image.jpg   // returns the new resized image dimensions
参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

您可以使用一个额外的电话来identify

convert -size 320x240 image.jpg; identify -format "%[fx:w]x%[fx:h]" image.jpg
收藏
评论

-ping选项

还建议使用此选项,因为它可以防止将整个图像加载到内存中,如https://stackoverflow.com/a/22393926/895245所述

identify -ping -format '%w %h' image.jpg

在ImageMagick 6.7.7,Ubuntu 14.04上进行了测试。

另请参阅: 快速获取图像尺寸(不是文件大小)的方法

收藏
评论

我不确定%w%h格式。尽管Photoshop表示我的图片是2678x3318(我真的很信任Photoshop),但identify却给了我:

identify -ping -format '=> %w %h' image.jpg
=> 643x796

([fx:w]和[fx:h]也是如此)

我不得不用

identify -ping -format '=> %[width] %[height]' image.jpg
=> 2678x3318

我不知道这里发生了什么,但是您可以在标准输出中看到两个值(=> 之前的宽度和高度是正确的值)

identify -ping image.jpg
image.jpg PAM 2678x3318=>643x796 643x796+0+0 16-bit ColorSeparation CMYK 2.047MB 0.000u 0:00.000

文档说%w是当前宽度,%[width]是原始宽度。令人困惑。

%w%h对于大多数用途而言可能是正确的,但并非对于每张图片都正确。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号