我正在尝试使用libMagick.so库裁剪gif图像。
./convert --version
Version: ImageMagick 6.2.8 03/31/08 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
使用以下命令:
convert img.gif -crop 91x68+6+116 out.gif
out.gif图像会被裁剪,但不会重新调整大小。我得到相同的图像大小,而所有图像都是透明的,除了从左边的6个像素开始的91个像素和从顶部开始116个像素的68个像素。
如何使转换命令裁剪并仅将裁剪部分保留为输出图像。 顺便说一下,当我的输出图像是jpg时,我得到了预期的结果。
答案 0 :(得分:3)
您需要为GIF文件添加-repage
选项:
convert img.gif -crop 91x68+6+116 -repage 0x0 out.gif
问题是GIF在动画时可以包含多个图像(大小不同),因此裁剪只影响其中一个图像,同时保持整个GIF画布大小不变。使用0x0
作为画布大小是一个简单的快捷方式,使ImageMagick能够确定图像的大小:
给定画布大小为零,例如'0x0'会强制它重新计算画布大小,以使图像(在其当前偏移处)完全显示在该画布上。