我已經嘗試了幾個小時來旋轉位圖沒有成功。我已經在這個網站上閱讀了很多關於這個主題的文章,似乎最好的解決方案是創建一個臨時畫布。那麼我做到了這一點,我仍然沒有看到一個roated位圖。旋轉位圖不旋轉
我的位圖是一個40x40的藍色方形,我試圖旋轉它45度。這不是要求太多嗎?代碼運行時,屏幕上顯示的位圖是未旋轉的原始文件。 (我自己也嘗試沒有成功轉化爲好)
這裏是我的代碼:
// Load the bitmap resource
fillBMP2 = BitmapFactory.decodeResource(context.getResources(), R.drawable.test1);
// Copy to a mutable bitmap
mb = fillBMP2.copy(Bitmap.Config.ARGB_8888, true);
// Create canvas to draw to
Canvas offscreenCanvas = new Canvas (mb);
// Create Matrix so I can rotate it
Matrix matrix = new Matrix();
matrix.setRotate (45);
offscreenCanvas.setMatrix (matrix);
// Send the contents of the canvas into a bitmap
offscreenCanvas.setBitmap(mb);
在OnDraw中後來我做了以下內容:
canvas.drawBitmap(mb, 200, 200, null);
任何想法,我是什麼做錯了?似乎它應該工作。
由於使用這種
Matrix matrix = new Matrix();
matrix.setRotate(15);
canvas.drawBitmap(bmp, matrix, paint);
setRotation方法需要在表示 度旋轉的浮子
我不是太熟悉''Canvas''但我假設你應該改變''畫布。 setMatrix(Matrix)''渲染之前,而不是使用''offscreenCanvas''。 – harism
檢查此SOF答案 http://stackoverflow.com/a/12044717/886001 –