使用java GUI旋转图像

时间:2018-04-26 22:07:42

标签: java

我尝试在java GUI中旋转我的图像。除了我,这段代码似乎对所有人都有用。我做错了什么,我应该改变什么才能使图像旋转?

Graphics2D g2d = (Graphics2D)g;
AffineTransform a = AffineTransform.getRotateInstance(3.14159/4,xloc,yloc);
a.setToTranslation(xloc,yloc);
g2d.drawImage(horse,a,null);

翻译有效,但图像轮换无效。我该怎么办?

1 个答案:

答案 0 :(得分:2)

你误解了setToTranslation的作用。来自documentation

  

public void setToTranslation(double tx, double ty)

     

将此变换设置为平移变换。表示此变换的矩阵变为:

[   1    0    tx  ]
[   0    1    ty  ]
[   0    0    1   ]

所以你的旋转矩阵会被翻译矩阵覆盖。请考虑使用translate代替。