我正在尝试在电视信号上绘制一个transparent.png图像(因此在渲染之前进行混合是有点不合适的。)
当我绘制透明矩形时,我可以设置SrcOver并为我的背景颜色指定一个alpha,它会起作用:
((DVBGraphics) g).setDVBComposite(DVBAlphaComposite.SrcOver);
但是现在我实际上是在尝试使用带有透明度设置的png并且不起作用(它只是可靠的)。
如果我设置了XOR模式:
g.setXORMode(Color.white);
设置SrcOver后,整个图像变为半透明,而不仅仅是指定的点。设置为“透明”的部分仍然可见。
有人能指出我使用这一系列的神奇电话吗?
(另外,swing不可用 - 只是java 1.4的大部分内容。)
答案 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平台上之外,这种绘图具有图像透明度。
绘图模式是普通油漆,而不是异或。