【发布时间】:2012-06-12 14:00:17
【问题描述】:
我使用GifDecoder 读取动画.gif 文件并使用AnimGifEncoder 编写它。 (link)
如果我显示GifDecoder 读取的原始帧,它们会正确显示并且是透明的,但如果我显示AnimatedGifEncoder 创建的帧,则透明度完全错误。
GifDecoder gif = new GifDecoder();
gif.read("image.gif");
AnimatedGifEncoder e = new AnimatedGifEncoder();
e.start("newimage.gif");
e.setTransparent(Color.BLACK);
for (int i=0;i<gif.getFrameCount();i++) {
anim.addFrame(gif.getFrame(i));
anim.setDelay(gif.getDelay(i));
}
anim.finish();
在本例中,我将透明颜色设置为黑色。但实际上我想从GifDecoder 获取透明颜色信息,但我不知道如何。
【问题讨论】:
-
GIFanim 是否按照您的预期对图像进行编码?如果是这样,我可能会忍不住拿出代码并对其进行总结以寻求答案。
标签: java image transparency gif animated-gif