下面的 gif 尺寸是 600*800。高度是 800 像素,所以底部有很多空白,我想删除它们。
保存为old.gif
:
file old.gif
old.gif: GIF image data, version 89a, 600 x 800
使用转换命令调整大小:
convert old.gif -coalesce temp.gif
convert -size 600x800 temp.gif -resize 600x400! new.gif
!
表示忽略长宽比,不保持长宽比不变。
结果如下:
新的文件new.gif
变形了。
怎样才能调整 gif 大小而不使其变形?
我尝试-crop
争论。
convert old.gif -crop 600x400+0+0 new.gif
如何去除 new.gif 中的空白区域?
Firefox 中的空白区域很明显。
convert old.gif -crop 600x400+0+0 new.gif
无法删除中的空白区域new.gif
。
使用该repage
参数将删除空白区域,但会使 gif 更加模糊。
convert old.gif -crop 600x400+0+0 -trim +repage new.gif
答案1
!
在给出决议后使用-crop
:
convert old.gif -crop 600x400+0+0\! new.gif
从 ImageMagick 版本 6.2.4-5 开始,您可以向“
-crop
”参数添加一个新的特殊标志。此标志“!
”将指示 crop 调整返回图像的虚拟画布信息,使其与裁剪区域相关。...
请注意,返回的图像的画布大小现在与图像裁剪的区域相匹配。