我注意到,當我繪製顏色(0,0,0,0),這是另一個圖像上的東西,顯示的顏色是JFrame背景,而不是它下面的圖像。bufferedimage對象的透明度
幫助我找到解決方案的原因是什麼?
謝謝!
編輯:看到圓圈,灰色區域(角落)應該是透明的,但不是,而是它們是JFrame的顏色。 alt text http://img72.imageshack.us/img72/9657/transparency.png
這裏是繪製圓代碼:
public void paint(final Graphics g) { super.paintComponent(g); final Graphics2D g2 = (Graphics2D) g; RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); if (unitImage == null) { unitImage = (BufferedImage) (createImage(30, 30)); final Graphics2D gc = unitImage.createGraphics(); gc.setRenderingHints(rh); gc.setColor(outsideColor); gc.fillOval(0, 0, diameter, diameter); gc.setColor(middleColor); gc.fillOval(diameter/6, diameter/6, (diameter/3) * 2, (diameter/3) * 2); gc.setColor(innerColor); gc.fillOval(diameter/3, diameter/3, diameter/3, diameter/3); } g2.drawImage(unitImage, null, 0, 0);
已與Alphacomposites玩弄,我認爲它不是解決辦法。所以我加入了我相信的所有這些新信息,將幫助你們給我另一個提示。
不錯的工具。 3個字符。 – 2010-04-17 22:19:15