0
Graphics2D.rotate(Math.toRadians(-1), newImage.getWidth()/2, newImage.getHeight()/2);
一種用於OMR應用旋轉圖像迄今。結果是旋轉但模糊的圖像。此外,我懷疑這旋轉關於其中心的圖像。我如何指定一個特定的像素位置作爲旋轉的中心?
Graphics2D.rotate(Math.toRadians(-1), newImage.getWidth()/2, newImage.getHeight()/2);
一種用於OMR應用旋轉圖像迄今。結果是旋轉但模糊的圖像。此外,我懷疑這旋轉關於其中心的圖像。我如何指定一個特定的像素位置作爲旋轉的中心?
我懷疑這繞其中心圖像
你是正確的,你需要
g2.rotate(Math.toRadians(-1), (newImage.getWidth()/2) + 1, (newImage.getHeight()/2) + 1);
因爲事實,即座標開始在左上角 - 手角位置0, 0
,(而不是1, 1
),您需要將1
添加到每個劃分的寬度以獲得中心。
如何指定一個特定的像素位置作爲旋轉中心?
由於@MadProgrammer在他的評論中表示,X和ÿ參數是rotate第二和第三參數,所以這些都是相對於Image
的像素位置。
可以告訴你在這裏添加1的意義是什麼?我如何指定像素位置,比如說(p,q)? – Coder 2013-03-24 03:21:18
第二個參數是要旋轉的x/y位置。就我個人而言,我使用'AffineTransformation'來代替,這一行[this](http://stackoverflow.com/questions/14884480/rotate-an-image-in-java-by-the-specified-angle/14885645#14885645)例如 – MadProgrammer 2013-03-24 03:19:54