2015-12-08 77 views
0

我試圖旋轉圖像每個按鈕被點擊一次90度(JavaFX的):JavaFX的旋轉圖像

private void rotate90(ActionEvent e){ 
    if(currentImage != null){ 
     imageView.setRotate(90);  
    } 
} 

,但我的代碼只圖像旋轉一次,它只是停止之後。請幫助,我將不勝感激。

+0

您的代碼示例有點短:您如何調用該方法?爲什麼你檢查'currentImage'它在哪裏改變? – hotzst

+0

按鈕調用方法: –

+0

MenuItem rot90 = new MenuItem(bundle.getMessage(「rot90」)); rot90.setOnAction(this :: rotate90); –

回答

3

最初,你的rotate屬性的值是0.一旦你執行了rotate90,你將屬性設置爲90.每個後續的調用都是相同的。 見JavaDoc 你可以通過一個Rotation或更新值達到您想要的行爲:

imageView.setRotate(imageView.getRotate() + 90); 
+0

謝謝你,那個作品 –

0

使用此代碼:CW_90 - > ClockWise90度。

BufferedImage sourceImage; 
BufferedImage outputImage; 
Scalr.rotate(sourceImage, Scalr.Rotation.CW_90, outputImage); 
+0

這是一個很好的例子,只希望對緩衝圖像進行操作。 Id建議在創建新的依賴關係之前,從下面的類中抽取所需內容: https://github.com/rkalla/imgscalr/blob/master/src/main/java/org/imgscalr/Scalr.java –