用Imagemagick裁切的图像是否能以某种方式记住其旧尺寸?如果是这样,如何避免这种情况?

问题描述

我用光线跟踪了一堆大小为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

https://www.imagemagick.org/Usage/crop/#crop_repage

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...