我到目前为止一直在使用
Graphics2D.rotate(Math.toRadians(-1), newImage.getWidth() / 2, newImage.getHeight() / 2);
旋转OMR应用程序的图像。结果是旋转但模糊的图像。我也怀疑这会使图像围绕其中心旋转。如何指定特定像素位置作为旋转中心?
答案 0 :(得分:2)
我怀疑这会使图像围绕其中心旋转
你是对的,你需要
g2.rotate(Math.toRadians(-1), (newImage.getWidth() / 2) + 1, (newImage.getHeight() / 2) + 1);
由于这一事实,该坐标始于左上角位置0, 0
,(而不是1, 1
),您需要为每个位置添加1
划分宽度以获得中心。
如何指定特定的像素位置作为旋转中心?
正如@MadProgrammer在评论中所说, x 和 y 参数是rotate中的第2和第3个参数,所以这些是像素位置与Image
的关系。