2013-04-12 93 views
6

IM試圖瞭解在畫布上繪製位圖的安卓:利用矩陣繪製位圖

drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint); 

使用,因爲我需要我的png格式之一,以增加它的大小几乎每一個框架,我成功地做到這一點與

Matrix matrix=new Matrix(); 
matrix.setScale(0.001f,0.001f); 

這對我很好。但是我遇到的問題是將圖像放在正確的座標中。我以爲其中任何一個會這樣做

matrix.setTranslate(x,y); matrix.postTranslate(x,y);

但這就是我誤會的地方,圖像總是繪製在0,0座標上。 之前,我需要的圖像縮放,我很好用

canvas.drawBitmap(bmp,x,y,paint); 

在那裏我可以給它指定要繪製的點。我可以使用drawBitmap的矩陣版本嗎?或者我應該如何經常調整我的圖像?

回答

10

使用繪製位圖的矩陣版本。重要的是按照正確的順序進行。從身份矩陣開始。然後使用postScale以任何因素縮放它。這將使它增長,但不改變原點。然後通過使用postTranslate翻譯它,這會將它左/右/上/下移動。然後將該位圖繪製到畫布上,並將其傳遞給矩陣。它將在複製之前通過矩陣縮放和移動位圖。

+0

Thx,這工作 – Anderiel