[英]eclipse plugin: save animated image into PC
我有一个图像加载器,它加载图像并将其保存到PC中,如下所示:
ImageLoader saver = new ImageLoader();
saver.data = new ImageData[] { ImageDescriptor.createFromURL(
FileLocator.find(bundle, new Path("icons/img.gif"), null))
.createImage().getImageData() };
saver.save("D:/img.gif", SWT.IMAGE_GIF);
但是,当我尝试保存gif动画时,保存的图像没有动画。 如何将动画图像从捆绑包保存到用户PC?
如代码所示,您只有一个ImageData
。 对于动画GIF,您需要几个ImageData
。 ImageDescriptor
不允许这样做; 级别太高,您需要直接使用SWT:
final ImageLoader loader = new ImageLoader();
loader.load(FileLocator.find(bundle, new Path("icons/img.gif"), null).openStream()); // closing the stream would be appreciable :)
然后,您可以尝试直接保存,但是我认为SWT库无法保存动画GIF。
如果仍要使用SWT,则必须一张一张保存每个图像:
int i=0;
for (ImageData data : loader.data) {
final ImageLoader saver = new ImageLoader();
saver.save("image-" + (i++) + ".gif", SWT.IMAGE_GIF);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.