如何使用Graphics/Image Magick仅在宽度超过时调整图像大小

3

如此看来:http://www.imagemagick.org/Usage/resize/#shrink,这个选项:

-resize 64x64>

只有当宽度和高度超过64像素时才会调整大小。但如果按照以下方式进行操作,会怎样呢:

-resize 64>x

或者

-resize 64x'ignores'>

换句话说,只有宽度超过此尺寸才会出现这种情况。这可能吗?

1个回答

9
您可以通过使用“非常大的”高度值轻松实现此目标:
convert  orig.png  -resize '64x10000>'  scaled.png

只有原始PNG的宽度大于64个像素或者高度大于10,000个像素时,才会调整大小。但是命令遇到高于10,000个像素的输入的概率非常低。因此,它几乎只会遇到宽度值匹配的输入文件。

原始宽度小于64个像素的PNG将保持不变(除非其高度超过10,000个像素...)。


另一个可能的解决方案是使用mini_magick库并检查image[:width]。 - Luccas
1
@Luccas:你也可以使用identify -format %W orig.png来获取宽度(或者使用-format %H来获取高度),并将其用于进一步的计算。但这更加复杂... :-) - Kurt Pfeifle
我刚刚下载了一张32000x41000像素、1.7GB大小的tif图像,但由于限制,无法将其裁剪成片。 - IC_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接