原標題:android canvas.drawBitmap的了解
public void drawBitmap(android.graphics.Bitmap bitmap, float left, float top, android.graphics.Paint paint)
這個方法left,top指的是bitmap放置的左上方的坐標。是相對于熒幕整體來說的坐標位置。
//以下部分轉自
public static void drawImage(Canvas canvas, Bitmap blt, int x, int y, int w, int h, int bx, int by)
{
//x,y表示繪畫的起點,
Rect src = new Rect();// 圖片
Rect dst = new Rect();// 熒幕
//src 這個是表示繪畫圖片的大小
src.left = bx; //0,0
src.top = by;
src.right = bx + w;// mBitDestTop.getWidth();,這個是桌面圖的寬度,
src.bottom = by + h;//mBitDestTop.getHeight()/2;// 這個是桌面圖的高度的一半
// 下面的 dst 是表示 繪畫這個圖片的位置
dst.left = x; //miDTX,//這個是可以改變的,也就是繪圖的起點X位置
dst.top = y; //mBitQQ.getHeight();//這個是QQ圖片的高度。 也就相當于 桌面圖片繪畫起點的Y坐標
dst.right = x + w; //miDTX + mBitDestTop.getWidth();// 表示需繪畫的圖片的右上角
dst.bottom = y + h; // mBitQQ.getHeight() + mBitDestTop.getHeight();//表示需繪畫的圖片的右下角
canvas.drawBitmap(blt, src, dst, null);//這個方法 第一個參數是圖片,第二個參數是 繪畫該圖片需顯示多少。也就是說你想繪畫該圖片的某一些地方,而不是全部圖片,第三個參數表示該圖片繪畫的位置
canvas.drawBitmap(blt, src, dst, null);
一般情況下來說,src這個矩形區域可以設置為(0,0,bmp.getWidth(),bmp.getHeight());一般就這樣設置就可以了,當初在項目中設置的src,dst都是完全一樣的,導致四個drawBitmap只顯示了一個,根據上文的了解,就明白了。
https://www.dayexie.com/detail1057812.html