【发布时间】:2011-08-31 04:54:17
【问题描述】:
我有一个带有透明框架的动画gif 图像。
我需要调整它的大小。
在调整大小之前,我使用Magick::coalesceImages 函数,在调整图像大小后,我使用Magick::writeImages 函数将所有gif 帧收集回一张图像。
问题是输出调整大小的图像文件比原来的大,因为原来的动画gif有透明帧,而新调整大小的gif没有任何透明帧。
我在www.imagemagick.org 上阅读了有关帧优化的信息,另外我可以在www.graphicsmagick.org 上看到gifDisposeMethod 函数。
我的问题是,如何使调整大小的动画gif 图像使用透明框架并避免图像KBytes 大小的增加?
【问题讨论】:
-
感谢您修复我的语法错误,但我真的可以使用答案...
-
如果您将帧调整得更大,您会期望它会更大——像素宽度/高度有什么区别,文件的 KB 有什么区别?
-
原始图像是 230X40 10,896Bytes。使用 Magick::coalesceImage 并将图像大小调整为 213X37 后,我得到 108,207 字节的图像。我可以看到,一旦我将图像的大小调整为原始大小的 92%%92%,而不使用 coalesceImage(因为我使用百分比,每个帧都将根据其原始尺寸调整大小,所以我想我可以删除 coalesceImage用法)我得到一个小得多的图像 15,226Bytes,它仍然比原始图像大。我真的不明白我怎么会得到更大的图像
标签: c++ linux image-processing imagemagick image-manipulation