精通Android自定义View(九)绘制篇Canvas分析之绘制图片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl18603543572/article/details/88378176

绘制图片分为:绘制矢量图(drawPicture)和 绘制位图(drawBitmap)

1 drawBitmap

1.1 基本的绘制图片方法 


//Bitmap:图片对象,left:偏移左边的位置,top: 偏移顶部的位置 
drawBitmap(Bitmap bitmap, float left, float top, Paint paint) 
    @Override
    public void draw(Canvas canvas) {
        super.draw(canvas);
        // 指定图片绘制区域
        canvas.drawBitmap(mBitmap, 100,200,null);
    }

1.2 对图片剪接和限定显示区域 

drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint); 
Rect src: 是对图片进行裁截,或者说是指定将要绘制的图片区域,若是空null则显示整个图片 
RectF dst:是图片在Canvas画布中显示的区域,或者说将指定好的图片绘制到的位置,大于src则把src的裁截区放大,小于src则把src的裁截区缩小
    @Override
    public void draw(Canvas canvas) {
        super.draw(canvas);
        // 指定图片绘制区域(左上角的四分之一)
        Rect src = new Rect(0, 0, mBitmap.getWidth() / 2, mBitmap.getHeight() / 2);
        // 指定图片在屏幕上显示的区域
        Rect dst = new Rect(0, 0, 400, 400);
        // 绘制图片
        canvas.drawBitmap(mBitmap, src, dst, null);
    }

2 drawPicture

这个方法使用的少,暂时不做解析

猜你喜欢

转载自blog.csdn.net/zl18603543572/article/details/88378176