在AWT中绘制半透​​明的.png

时间:2009-02-17 01:50:55

标签: java transparency awt

我正在尝试在电视信号上绘制一个transparent.png图像(因此在渲染之前进行混合是有点不合适的。)

当我绘制透明矩形时,我可以设置SrcOver并为我的背景颜色指定一个alpha,它会起作用:

((DVBGraphics) g).setDVBComposite(DVBAlphaComposite.SrcOver);

但是现在我实际上是在尝试使用带有透明度设置的png并且不起作用(它只是可靠的)。

如果我设置了XOR模式:

g.setXORMode(Color.white);

设置SrcOver后,整个图像变为半透明,而不仅仅是指定的点。设置为“透明”的部分仍然可见。

有人能指出我使用这一系列的神奇电话吗?

(另外,swing不可用 - 只是java 1.4的大部分内容。)

1 个答案:

答案 0 :(得分:0)

我只能建议你重新检查一切;我之前使用AWT绘制了PNG图像并且工作正常,只是做了显而易见的事情:

private final Image                     image;                                  //

protected void paintForeground(Graphics2D gc, int wid, int hgt) {
    ...
    gc.drawImage(image,dx,dy,(dx+width),(dy+height),0,0,width,height,null);
    ...
    }

除了在J2ME 1.1平台上之外,这种绘图具有图像透明度。

绘图模式是普通油漆,而不是异或。