使用libMagick裁剪gif图像

时间:2011-07-18 09:21:54

标签: image image-processing crop rmagick

我正在尝试使用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时,我得到了预期的结果。

1 个答案:

答案 0 :(得分:3)

您需要为GIF文件添加-repage选项:

convert img.gif -crop 91x68+6+116 -repage 0x0 out.gif

问题是GIF在动画时可以包含多个图像(大小不同),因此裁剪只影响其中一个图像,同时保持整个GIF画布大小不变。使用0x0作为画布大小是一个简单的快捷方式,使ImageMagick能够确定图像的大小:

  

给定画布大小为零,例如'0x0'会强制它重新计算画布大小,以使图像(在其当前偏移处)完全显示在该画布上。