別の画像の上にあるColor(0,0,0,0)で何かを描くと、表示される色はJFrameの背景であり、そのすぐ下の画像ではないことに注意しました。
解決策を見つけるのに役立つ理由は?
ありがとう!!
編集:円を参照してください。灰色の領域(角)は透明である必要がありますが、代わりにJFrameの色ではありません。 代替テキストhttp://img72.imageshack.us/img72/9657/transparency.png
そして、これが円を描くためのコードです:
public void paint(final Graphics g){ super.paintComponent(g); 最終的なGraphics2Dg2=(Graphics2D)g; RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING、RenderingHints.VALUE_ANTIALIAS_ON); if(unitImage == null){ unitImage =(BufferedImage)(createImage(30、30)); 最終的なGraphics2Dgc= unitImage.createGraphics(); gc.setRenderingHints(rh); gc.setColor(outsideColor); gc.fillOval(0、0、diameter、diameter); gc.setColor(middleColor); gc.fillOval(直径/ 6、直径/ 6、(直径/ 3)* 2、(直径/ 3)* 2); gc.setColor(innerColor); gc.fillOval(直径/ 3、直径/ 3、直径/ 3、直径/ 3); } g2.drawImage(unitImage、null、0、0);
Alphacompositesをいじってみましたが、それは解決策ではないと思います。だから私は私が信じるこのすべての新しい情報を追加しました、あなたたちが私に別のヒントを与えるのを助けるでしょう。