使用 libMagick 裁剪 gif 图像

发布于 2024-11-25 05:03:06 字数 419 浏览 2 评论 0原文

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

i am trying to crop a gif image using the libMagick.so library.

./convert --version 
Version: ImageMagick 6.2.8 03/31/08 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html

using the following command:

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

the out.gif image gets crop, but not re sized. i get the same image size while all of it is transparent except the 91 pixels starting at 6 pixels from the left point and 68 pixels starting 116 pixels from the top.

how can i make the convert command crop and leave only the cropped part as the output image.
by the way, when my output image is jpg, i get the expected results.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开雨落又逢春i 2024-12-02 05:03:06

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

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

问题是 GIF 在进行动画处理时可以包含多个图像(不同大小),因此裁剪只会影响其中一张图像,同时保持整个 GIF 画布大小不变。使用 0x0 作为画布大小是让 ImageMagick 计算出图像应该有多大的简单快捷方式:

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

You need to add the -repage option for GIF files:

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

The problem is that GIFs can contain multiple images (of different sizes) when they're animated so cropping just affects one of the images while leaving the overall GIF canvas size untouched. Using 0x0 for the canvas size is an easy shortcut to make ImageMagick figure out how big the image should be:

A given a canvas size of zero such as '0x0' forces it to recalculate the canvas size so the image (at its current offset) will appear completely on that canvas.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文