在一些帮助下我编写了这段代码:
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
编辑:我发现了问题,我必须写 %%
因为 %
是一个特殊字符。
最佳答案
使用双百分号:
mogrify -format png -resize 50%% SDtemp/*@2x*.png
关于windows - 为什么 mogrify 将 PNG 大小调整为 50 像素的宽度,而不是批处理文件中指定的 50%?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548511/