1
我正在創建自定義SWT小部件,但是我遇到了透明度問題。我的類擴展畫布,我曾與阿爾法圖像在我的資源,得到了PNG時,我只是寫:Java:gc.drawimage和透明度
this.setBackgroundImage(Colors.getMenuButton()); //getMenuButton returns Image object
一切工作正常(透明度),但我的對象必須是可調整大小的,所以我決定創建funcion:
protected Image BGHelper(Image src) {
Image i2 = new Image(Display.getDefault(),2,26);
GC gc2 = new GC(i2);
Image image = new Image(Display.getDefault(),this.getBounds().width,26);
GC gc = new GC(image);
gc.drawImage(src, 0, 0, 3, 25, 0, 0, 3, 26);
gc2.drawImage(src, 3, 0, 2, 25, 0, 0, 2, 26);
gc.drawImage(i2, 0, 0, 2, 25, 3, 0, this.getBounds().width-6, 26);
gc.drawImage(src,53, 0, 3, 26, this.getBounds().width-3, 0, 3, 26);
gc.dispose();
gc2.dispose();
return image;
}
它減少從源頭左邊框並粘貼到結果,從源剪輯中心,調整大小並粘貼到結果,從源頭削減右邊框粘貼到結果。調整大小作品但沒有透明度(白色像素)。爲什麼?