您的位置:首页 > 移动开发 > Android开发

android canvas.drawBitmap的理解

2014-07-23 10:03 459 查看
public void drawBitmap(android.graphics.Bitmap bitmap, float left, float top, android.graphics.Paint paint)

这个方法left,top指的是bitmap放置的左上方的坐标。是相对于屏幕整体来说的坐标位置。

//以下部分转自/article/2317328.html

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);//这个方法 第一个参数是图片,第二个参数是 绘画该图片需显示多少。也就是说你想绘画该图片的某一些地方,而不是全部图片,第三个参数表示该图片绘画的位置



[b] canvas.drawBitmap(blt, src, dst, null);

[/b]

一般情况下来说,src这个矩形区域可以设置为(0,0,bmp.getWidth(),bmp.getHeight());一般就这样设置就可以了,当初在项目中设置的src,dst都是完全一样的,导致四个[b]drawBitmap只显示了一个,根据上文的理解,就明白了。[/b]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: