작은 자바 프로그램이 png 이미지를 어둡게하려고합니다. 내 Mac에서는 잘 작동하지만 java 1.7_07이 설치된 Windows PC에서 실행하려고 할 때 빈 JPanel을 제외하고 전혀 표시되지 않으면 이미지가 완전히 사라집니다.Windows 7 64 비트에서 Graphics2D 문제를 사용하여 이미지가 어두워졌습니다.
class MapCanvas extends JPanel {
private Color color;
RescaleOp op;
BufferedImage sourceImage, bi;
public MapCanvas() {
try {
sourceImage = ImageIO.read(new File(MAP_FILENAME));
bi = new BufferedImage(sourceImage.getWidth(), sourceImage.getHeight(), BufferedImage.TYPE_INT_ARGB);
op = new RescaleOp(.8f, 0, null);
bi = op.filter(bi, null);
Graphics2D g = bi.createGraphics();
g.drawImage(sourceImage, 0, 0, 500, 382, null);
g.dispose();
} catch (Exception e) {
e.printStackTrace();
}
// set size for the panel
Dimension size = new Dimension(500, 382);
this.setBackground(new Color(34, 102, 187));
setPreferredSize(size);
setSize(size);
setLayout(null);
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g2d = (Graphics2D) g;
g2d.drawImage(bi, op, 0, 0);
}
}
누구든지 내가이납니다 이유를 알고 : 여기
코드인가? 많은 감사합니다. 이 작업을 완료 한 이유
"예상대로 작동하지 않습니다"- 그 다음 할 무엇을, 어떻게 당신이 예상과 다르다? "작동하지 않는다"고 말하는 것이 아니라 설명하십시오. 그렇지 않으면 사람들이 당신을 도우려고 힘듭니다. – Jesper
죄송합니다. 이미 수정했습니다. 문제는 캔버스가 비어있어 이미지를 표시하지 않는다는 것입니다. – tuanva
참고로 완벽한 예제가 있습니다 [here] (http://stackoverflow.com/a/5864503/230513). – trashgod