我正在使用GC(org.eclipse.swt.graphics.GC)将一些图片组合成一个图像(使用drawImage)。问题是,默认情况下GC有白色背景。是否可以将背景设置为透明?或者任何其他解决方案,从一张图片切割部分并粘贴到第二张?
答案 0 :(得分:1)
但是,您可以使用ImageData API直接控制透明度数据。 你应该知道除了ImageData上的setPixel(x,y,pixel),setAlpha(x,y,alpha)之外没有高级绘图API。
答案 1 :(得分:1)
您可以使用没有背景的画布
Canvas canvas = new Canvas(parent, SWT.NO_REDRAW_RESIZE | SWT.NO_BACKGROUND);
然后你可以(就像在这个example中)使图像的一种(或多种)颜色透明。
ImageData ideaData = new ImageData(getClass().getResourceAsStream("Idea.jpg"));
int whitePixel = ideaData.palette.getPixel(new RGB(255,255,255));
ideaData.transparentPixel = whitePixel;
Image transparentIdeaImage = new Image(display,ideaData);