image - ImageMagick可以返回图像大小吗?

标签 image unix image-processing command-line imagemagick

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

convert -size 320x240 image.jpg

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

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

convert -size 320x240 -return_new_image_dimension image.jpg   // returns the new resized image dimensions

最佳答案

-ping选项

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

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

男人识别说:

-ping                efficiently determine image attributes

例如,我们可以使用Wikimedia's "Large image" category上出现的一些巨大图像来测试它。例如这个ultra high resolution image of Van Gogh's Starry Night维基媒体声称尺寸为 29,696 × 29,696 像素,文件大小:175.67 MB:

wget -O image.jpg https://upload.wikimedia.org/wikipedia/commons/e/e8/Van_Gogh_-_Starry_Night_-_Google_Art_Project-x0-y0.jpg
time identify -ping -format '%w %h' image.jpg
time identify       -format '%w %h' image.jpg

但是我观察到 -ping 至少在这种情况下在时间上没有任何区别,也许它只对其他图像格式重要?

在 ImageMagick 6.9.10、Ubuntu 20.04 上测试。

另请参阅:Fast way to get image dimensions (not filesize)

关于image - ImageMagick可以返回图像大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1555509/

相关文章:

html - 带有来自 Amazon S3 的图像的 Img 标签不起作用

image - 如何从位图创建透明 png 图像?

javascript - 使用 Canvas 和 JavaScript 进行多边形表示的图像采样算法?

python - 如何在 Python 中查找 base64 编码图像的文件扩展名

java - Java 中的 Selenium Firefox Webdriver(运行参数)

c - FILE*的内容代表什么

r - 使用layout()和display()显示等距图像的网格

c - 通过杀死其父进程而成为孤儿的子进程不会被 init 收养。我该如何解决?

python - 2个像素之间的距离

image - 估计图像线梯度(不是像素梯度)