问题描述
我用光线跟踪了一堆大小为500x500的图像,然后使用以下命令删除了页边空白:
for i in $(seq -f "%03g" 0 359); do convert $i.png -crop 459x453+22+21 $i.png; done
现在我的文件(似乎)具有正确的大小。
但是,当我将它们上传到https://ezgif.com/maker时,它会创建一个仍然为500x500的GIF。
现在图像仍在页面上可见:https://ezgif.com/maker/ezgif-6-ee4b08f7-gif
结果是:https://commons.wikimedia.org/wiki/File:Disdyakis_12_untruncated_to_dyakis_12.gif
这对我来说像是怪异的,还是-crop
只是改变了可见区域,而“实际”大小仍然是旧的?
在我的文件浏览器中,它显示为“宽度459像素”。
我最近将-chop
用于相同的目的,并且没有问题:
for i in $(seq -f "%03g" 0 359); do convert $i.png -gravity South -chop 0x6 $i.png; done
https://commons.wikimedia.org/wiki/File:Dyakis_dodecahedron.gif
解决方法
如fmw42所述:要真正更改大小,需要使用运算符+repage
。
我将图像“裁剪”到它们已经拥有的尺寸并使用它:
for i in $(seq -f "%03g" 0 359); do convert $i.png -crop 459x453 +repage $i.png; done