2014-09-13 104 views
0

我環顧四周尋找旋轉BufferedImage s的方法,我找到的全部是AffineTransform。這很好,但如果我只想旋轉90度,它看起來有點矯枉過正。逐像素地做它會更高效嗎?有其他方法可以使用嗎?有沒有更有效的方式來旋轉Java中的圖像比AffineTransform?

+0

是否存在*性能問題*? – user2864740 2014-09-13 19:27:43

+0

@ user2864740我剛剛開始一個涉及旋轉大量圖像的新項目。我想確保未來沒有任何滯後。 – 2014-09-13 19:30:34

+1

在'rotateImage90'方法中隱藏轉換。如果/當出現問題時,重新研究實施;並準備好運行性能測試。 (還有一些重複的問題。) – user2864740 2014-09-13 19:31:25

回答

3

從類的Javadoc中你提到:

處理90度旋轉

在在AffineTransform類的rotate方法的一些變化,一個雙精度參數指定的旋轉角度以弧度表示。這些方法對於大約90度的旋轉(包括諸如180,270和360度的倍數)具有特殊的處理,以便更有效地處理象限旋轉的常見情況。

這使得它看起來像你不應該擔心性能沒有堅實的證明相反。

另外請注意以下方法:quadrantRotate(int numQuadrants)

+0

聽起來不錯。是否有反映X或Y軸的等價方法?我查看了文檔,但沒有看到任何東西。 – 2014-09-13 19:36:40

+0

只需在其中一個座標軸上應用-1縮放比例因子,例如[getScaleInstance](http://docs.oracle.com/javase/7/docs/api/java/awt/geom/AffineTransform.html#getScaleInstance (雙,%20double))。 – 2014-09-13 19:44:47

相關問題