2012-07-19 19 views
0

我想在繪製到畫布時旋轉位圖。問題是,當我調用canvas.rotate(90)之後繪製的任何東西實際上並沒有繪製。當我在那裏進行循環調用時,運行下面的代碼將不會在屏幕上畫任何東西。如果我拿出旋轉呼叫,它顯示正常。爲什麼旋轉調用會阻止位圖顯示在畫布上?Canvas.rotate調用導致繪製的項目消失?

 canvas.save(); 
     canvas.rotate(90); 
     canvas.drawBitmap(leaves, null, leafRect, bitmapPaint); 
     canvas.restore(); 

回答

1

默認情況下,rotate()將從確切的中心旋轉畫布。您可能想要從位圖的中心旋轉。在文檔rotate(angle, x, y)

+0

真棒該訣竅

canvas.save(); canvas.rotate(90, leafRect.x + (leafRect.width/2), leafRect.y + (leafRect.height/2)); canvas.drawBitmap(leaves, null, leafRect, bitmapPaint); canvas.restore(); 

更多信息,謝謝 – Bobbake4 2012-07-19 03:28:30