我正在尝试在电视信号上绘制一个透明的.png图像(因此渲染前的混合有点过时)。
当我画一个透明矩形时,我可以设置srcover并为背景色指定一个alpha,它会起作用:
((DVBGraphics) g).setDVBComposite(DVBAlphaComposite.SrcOver);
但现在我正尝试使用一个具有透明度集的PNG,但这不起作用(它只是固体)。
如果我设置XOR模式:
g.setXORMode(Color.white);
设置srcover后,整个图像变为半透明,而不仅仅是指定的点。此外,设置为“透明”的零件仍然可见。
有人能给我指一下这套神奇的电话吗?
(此外,Swing还不可用,只是Java 1.4的大部分)。
我只能建议你重新检查所有东西;我以前用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平台上之外,它还具有图像透明度。
绘制模式是普通绘制,而不是XOR。