canvas.drawBitmap(bitmap, src, dst, paint)

来源:互联网 发布:python 爬虫 慢 编辑:程序博客网 时间:2024/05/23 02:04
//    GameView.drawImage(canvas, mBitDestTop, miDTX, mBitQQ.getHeight(), mBitDestTop.getWidth(), mBitDestTop.getHeight()/2, 0, 0);
    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);//这个方法  第一个参数是图片原来的大小,第二个参数是 绘画该图片需显示多少。也就是说你想绘画该图片的某一些地方,而不是全部图片,第三个参数表示该图片绘画的位置
        
        src = null;
        dst = null;

    }



对与其中的rect(int,int,int,int)这四个 参数 分别代表的意思是:left   top   right   bottom      下。 下面给大家解释  
left  矩形左边的X坐标  150        ---->图片中的A 
top:    矩形顶部的Y坐标   75         ---->图片中的B 
right :  矩形右边的X坐标   260       ----->图片中的C 
bottom 矩形底部的Y坐标 120     ------->图片中的D 

如下图一目了然, 其实也就是四条边对应的 x y坐标