我正在制作一个基本的Java应用程序,并试图旋转图像。我写了下面的快速方法Java旋转图像变成全黑色?
private Image rotate(double degs){
ImageIcon img = new ImageIcon("src/inc/img/char_male.png");
Image temp = new BufferedImage(img.getIconWidth(), img.getIconHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = (Graphics2D) temp.getGraphics();
g2.rotate(Math.toRadians(degs));
g2.drawImage(img.getImage(), 0, 0, Color.WHITE, null);
System.out.println("Rotating "+degs);
g2.dispose();
return temp;
}
问题是,当我运行这一点,并重绘GUI,图像变成纯黑色。我在做BufferedImage创建时出了什么问题?我改变使用一个JLabel重绘的GUI,
label.setIcon(new ImageIcon(rotate(90)));
nope,即使这是90度以外的度数是错误的,需要一个小三角来解决。去睡觉,但将在早上修复它! – 2011-05-08 05:42:26