使用透明蒙版将SWT图像保存到文件

时间:2013-04-25 05:33:22

标签: java swt

到目前为止,这是我的代码

ImageLoader saver = new ImageLoader();
saver.data = new ImageData[]
    { toSave.getImageData() };
saver.save(fileName, SWT.IMAGE_PNG);

toSave是使用程序中透明的SWTResourceManager加载的图像。 fileName是一个字符串,表示我要将图像保存到的文件(以.png结尾)

结果是一张黑色背景的图像,而不是我想要的透明背景。如何使背景透明?我认为这与透明蒙版有关,但我可能错了。

提前致谢!

1 个答案:

答案 0 :(得分:2)

SWTResourceManager似乎导致了您的问题。我不建议使用它。

试试这段代码,它对我有用:

Display d = Display.getDefault();
Image image = new Image(d, "/pictures/Llama.gif");

ImageLoader saver = new ImageLoader();
saver.data = new ImageData[] { image.getImageData() };
saver.save("output.png", SWT.IMAGE_PNG);

image.dispose();

请记住在您不再需要时处置Image