【问题标题】:Why does mogrify resize a PNG to a width of 50 pixels instead of 50% as specified in batch file?为什么 mogrify 将 PNG 的宽度调整为 50 像素而不是批处理文件中指定的 50%?
【发布时间】:2014-08-28 12:11:12
【问题描述】:

在一些帮助下,我编写了这段代码:

mkdir SDtemp
copy *@2x*.png SDtemp
mogrify -format png -resize 50% SDtemp/*@2x*.png
pushd SDtemp

setlocal enableDelayedExpansion
for %%a in (*.png) do (
    set "filename=%%~nxa"
    set "purged_filename=!filename:@2x=!"
    ren %%~nxa !purged_filename!
)

endlocal
move *.png ..
popd
rmdir /s /q SDtemp

我想,我的问题出在这一行:

   mogrify -format png -resize 50% SDtemp/*@2x*.png

它没有正确调整大小。一个 320x320 的图像现在是 50x50,另一个 600x140 的图像是 50x12,真的很奇怪。

我希望它像这样调整大小:320x320 -> 160x160

编辑:我发现了问题,我不得不写%%,因为%是一个特殊字符。

【问题讨论】:

  • 尝试使用引号:'50%'
  • 带引号不会调整大小

标签: windows batch-file imagemagick mogrify


【解决方案1】:

使用双百分号:

mogrify -format png -resize 50%% SDtemp/*@2x*.png

【讨论】:

  • 我发了这个问题后才发现,我真的应该等一会儿再在这里提问。无论如何谢谢! :)
猜你喜欢
  • 2014-09-23
  • 2020-11-22
  • 2015-02-21
  • 2013-01-24
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多