1
好吧,我有一個方法,它接受變量:image,int x,int y,float angle。Android - 無法使用矩陣在座標上繪製圖像
我正在使用畫布,而我正在使用一個Matrix transform = new Matrix();
來旋轉圖像的中心。不過,我希望圖像在座標x
和y
處繪製。出於某種原因,我用過的所有不同的方法都沒有奏效。有時它會在0,0處繪製它,甚至不會顯示在屏幕上。
這裏是我的僞代碼:
//pseudo-code: img_width, img_height
public void drawImage(Bitmap img, int x, int y, float angle)
{
transform.setTranslate(x, y);
transform.setRotate(angle, img_width/2, img_height/2);
canvas.drawBitmap(img, transform, null);
}
我已經得到了旋轉的圖像,但我希望圖像在指定的座標繪製:X,Y。
我試過交換所有的變量,使用transform.preRotate
,基本上花了1小時試圖找出爲什麼沒有工作。我有很多其他圖像被繪製到畫布上,並且它們出現在他們應該在的位置,但是當我想旋轉時,它不會在指定的座標上繪製。
我已閱讀了5個與此相關的SO問題和答案,但沒有給我我需要的東西。
我真的很需要一個答案和代碼,謝謝。
當我這樣做,圖像不旋轉。它看起來應該在哪裏,但不旋轉。 – JRunner
你說得對,我編輯了我的解決方案。 –
使用postTranslate而不是setTranslate,它將翻譯「添加」到旋轉矩陣... –