0

到目前为止,我一直在使用

Graphics2D.rotate(Math.toRadians(-1), newImage.getWidth() / 2, newImage.getHeight() / 2);

为 OMR 应用程序旋转图像。结果是旋转但模糊的图像。我也怀疑这会使图像围绕其中心旋转。如何指定特定的像素位置作为旋转中心?

4

1 回答 1

2

我怀疑这会使图像围绕其中心旋转

你是对的,你需要

g2.rotate(Math.toRadians(-1), (newImage.getWidth() / 2) + 1, (newImage.getHeight() / 2) + 1);

因为坐标从左上角位置0, 0(而不是1, 1)开始,您需要添加1到每个分割的宽度以获得中心。

如何指定特定的像素位置作为旋转中心?

正如@MadProgrammer 在他的评论中所说,xy参数是rotate的第二个和第三个参数,所以这些是相对于Image.

于 2013-03-24T03:18:43.573 回答