1
我繪製圖像中的paintComponent(圖形G)方法透明背景的圖像清晰顯示,以便使它們與視網膜相兼容的Java
g.drawImage(image, 0, 0, imageWidth/2, imageHeight/2, null);
一切完美,但圖像的暗堆疊在彼此。它使畫面變得醜陋。 所以我需要在繪製新圖之前清除圖像。問題來了:
我沒有清除圖像的問題,但問題是要防止父元素的背景重疊。現在看起來這樣http://cl.ly/image/0K1u0q2M150W。
我使用其他主題的方法:
g2d.setBackground(new Color(255,255,255,0));
g2d.clearRect(0, 0, ICON_WIDTH, ICON_HEIGHT);
以及
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR));
g2d.setBackground(new Color(255,255,255,0));
g2d.clearRect(0, 0, ICON_WIDTH, ICON_HEIGHT);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
和其他幾個人。
這就是它應該如何看起來像http://cl.ly/image/2V1R1v0X452N 這就是調用repaint()方法幾次之後的樣子。我需要調用它來將圖像從一個更改爲另一個。
我的paintComponent方法:
Image image;
if (flag) {
image = image1;
} else {
image = image2;
}
g2d.drawImage(image, 0, 0, IMAGE_SIZE, IMAGE_SIZE, null);
因爲你不能投票自己賴特答案,我會爲你做! :) – SeniorJD 2013-05-01 14:58:50