开发者

Android Development: Bitmap and rectangles?

开发者 https://www.devze.com 2023-04-02 00:29 出处:网络
Can someone explain what the rect does in: canvas.drawBitmap(bmp,scr ,dst ,null); Because I have tried and tried to make any sense of this but I simply don\'t understand what the two rectangles does.

Can someone explain what the rect does in: canvas.drawBitmap(bmp,scr ,dst ,null); Because I have tried and tried to make any sense of this but I simply don't understand what the two rectangles does.

My goal is to display a portion the bitmap instead of the whole image.

//Simon开发者_如何学编程


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

This code specifies that you want to copy a rectangle with the dimensions 50 width / 50 height of the source starting at position 0x 0y, and draw into the destination bitmap starting at position 50x / 50y and occupy it until 200x 200y - therefore stretching a bit - because as the source is only 50 pixels long, to stretch to 200x and 200y the copy will end up with the size 150width / 150 height.


The Android documentation seems to explain this method quite well.

drawBitmap Documenation

From reading the documentation it appears you can do what you want by specifying a source Rect, which will be the rectangle(subset) from the original bitmap, and it will then be translated into the dest Rectangle.

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);
}
0

精彩评论

暂无评论...
验证码 换一张
取 消