3

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

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

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

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

提前致谢!

4

1 回答 1

4

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请记住在不再需要时丢弃它。

于 2013-04-25T07:00:40.087 回答