我正在尝试对ImageMagick应用调整大小限制,但它似乎不像docs中那样工作。我在Windows 7中使用 ImageMagick 6.9.2-3-portable-Q16-x86 。
convert input.jpg -resize 1920x1080^> -quality 92 output.jpg
当输入文件大于1920x1080时,它会很好地调整大小。
当输入文件较小时,例如1024x768,虽然我希望它不受影响,但它会以相同的分辨率(1024x768)和不同的文件大小保存,具体取决于质量设置。
参数-resize 1920x1080^>
不应强制ImageMagick跳过该文件?
如果没有,那么我们如何跳过那些小于调整大小限制集的文件?
答案 0 :(得分:1)
它应该像那样工作......你的命令说“Take input.jpg
并在大于1920x1080时调整大小,然后改变它的质量并保存它。”
您可以在执行命令之前运行类似的操作,以查看是否需要调整大小 - 它将输出1
或0
,具体取决于图像是否需要调整大小:
identify -format "%[fx:(w>1920)||(h>1080)?1:0]" 1921x1080.jpg
1
identify -format "%[fx:(w>1920)||(h>1080)?1:0]" 1920x1080.jpg
0
如果您想将0
或1
放入变量中,请执行以下操作:
for /f "usebackq" %i in ( `identify -format "%[fx:(w>1920)||(h>1080)?1:0]" 1921x1080.jpg` ) do set resize=%i
并将.BAT
文件中的百分号加倍。