이미지를 회전하려고하는데 다소 효과가 있지만 문제가 제대로 작동하지 않습니다. 원하는대로 정확하게 회전하지 않습니다. 이미지가 일부 믹스 형식으로 표시됩니다. 버튼 클릭에이미지가 회전하지 않습니다.
내 코드 :
RT90.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent arg0)
{
degrees+=90;
rotateIMG(degrees);
repaint();
}
});
rotateIMG() 코드 :이 코드에 wrong
을 무엇
public void rotateIMG(double d)
{
BufferedImage b ;
b=a;
Graphics g;
g=b.createGraphics();
Graphics2D g2d = (Graphics2D)g;
System.out.println(b.getWidth());
System.out.println(b.getHeight());
g2d.rotate(Math.toRadians(d), b.getWidth()/2, b.getHeight()/2);
g2d.drawImage(b,0,0,null);
ImageIcon rtimg = new ImageIcon(b);
label.setIcon(rtimg);
}
어떤 생각? 여기서 a
은 이미지 스택에서로드 된 버퍼 이미지이고 label
은 JLabel
이며 이미지를 표시하는 데 사용됩니다.
패널과 프레임에 a와 b를 동시에 표시 할 수 있습니까? – Gerret
"이미지가 일부 믹스 형식으로 표시됩니다."라는 메시지는 나에게 분명하지 않습니다. 아마도 스크린 샷을 제공 할 수 있습니까? 물론 SSCCE도 그렇게 할 것입니다. – haraldK
이미지를 그 위에 그릴 때 때때로 문제가 있습니다. 새로운'BufferedImage'를 생성하고 그 위에 페인트를하십시오. – kiheru