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

绘制图片分为:绘制矢量图(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

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

 

 

 

 

早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页