2011-09-01 32 views
1

有人可以解釋直腸癌在做什麼:canvas.drawBitmap(bmp,scr ,dst ,null); 因爲我已經試過並嘗試做出任何意義,但我根本不明白這兩個矩形做了什麼。Android開發:位圖和矩形?

我的目標是顯示一部分位圖而不是整個圖像。

// Simon

回答

2

Android文檔似乎很好地解釋了這種方法。

drawBitmap Documenation

從閱讀它似乎可以通過指定源矩形,這將是從原來的位圖的矩形(子)做你想要的文件,然後將它翻譯成DEST矩形。

Bitmap picture; //Assume this is a 1024x768 image and has been initialized. 

@Override 
public void onDraw(Canvas canvas){ 
    //To Draw only the top left corner of the image 
    Rect src = new Rect(0,0,512,368); 

    Rect dest = new Rect(0,0,512,368); 

    canvas.drawBitmap(picture, src, dest, null); 
} 
3
Rect src = new Rect(0, 0, 50, 50); 
Rect dst = new Rect(50, 50, 200, 200); 
canvas.drawBitmap(originalBitmap, src, dst, null); 

該代碼指定要爲矩形的位置複製與尺寸50的寬度/起始於位置0X 0Y源50的高度,並繪製到目標位圖開始50X/50Y和佔據它直到200x200y - 因此伸展一點 - 因爲作爲源只有50像素長,延伸到200x和200y副本將結束與150寬度/ 150高度的大小。