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

1 drawBitmap

1.1 基本的绘制图片方法


//Bitmap:图片对象,left:偏移左边的位置,top: 偏移顶部的位置
drawBitmap(Bitmap bitmap, float left, float top, Paint paint) 
    @Overridepublic 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的裁截区缩小
    @Overridepublic 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

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

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

  1. 精通Android自定义View(十)绘制篇Canvas分析之绘制Path

    1 Path常用方法简析 Path在2D绘图中是一个很重要的类. Path在这里可以绘制基本的图形,也可以绘制其他复杂的图形. 2 常用API解析与示例 2.1 xxxTo方法 Path类中提供了一套 ...

  2. 精通Android自定义View(八)绘制篇Canvas分析之绘制文本

    1 简述 绘制文字分为三种应用场景: 情况1:指定文本开始的位置 即指定文本基线位置 基线x默认在字符串左侧,基线y默认在字符串下方 情况2:指定每个文字的位置 情况3:指定路径,并根据路径绘制文字 ...

  3. 精通Android自定义View(十四)绘制水平向右加载的进度条

    1引言 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制三部曲综合 ...

  4. 精通Android自定义View(十二)绘制圆形进度条

    1 绘图基础简析 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制 ...

  5. 精通Android自定义View(十九)自定义圆形炫彩加载转圈效果

    1 效果 2 源码 public class JiondongView extends View {private Paint mBackgroundPaint;private float mScal ...

  6. 精通Android自定义View(十六)invalidate方法和requestLayout方法

    1 简述 requestLayout方法会导致View的onMeasure.onLayout.onDraw方法被调用:invalidate方法则只会导致View的onDraw方法被调用 2 reque ...

  7. 精通Android自定义View(十三)事件分发简述

    1 事件序列 (1)手指接触屏幕后会产生一系列事件,事件分为3种:ACTION_DOWN(手指刚刚接触屏幕).ACTION_MOVE(手指在屏幕移动).ACTION_UP(手指从屏幕松开) (2)一个 ...

  8. 精通Android自定义View(五)自定义属性值使用详情

    1 可查看Android自定义View的基本使用 1 精通Android自定义View(一)自定义控的基本使用 2 精通Android自定义View(二)自定义属性使用详解 2 string 字符串 ...

  9. 精通Android自定义View(十一)绘制篇Canvas分析之裁剪

    clipRect(int left, int top, int right, int bottom)  这个方法作用就是裁切一个矩形出来,但是图形不还是在canvas上面的,所以本质上还是裁切的can ...

最新文章

  1. 没学过编程可以自学python吗-完全没学过编程的人学习 Python前应该掌握些什么?...
  2. oracle手工收集awr报告_WHAT——什么是AWR?
  3. wxWidgets:wxRegKey 类演示
  4. Redis在持久化时产生的延迟
  5. kafka 串讲:架构模型、角色功能梳理
  6. dataframe两个表合并_DAXSQLPython实现报表项目存在串行的财务报表合并
  7. python读word文档doc公文标题_python – 从word doc中提取标题文本
  8. 从使用传统Web框架到切换到Spring Boot后的总结
  9. Go信号gsignal和宿主Signal
  10. linux内核参数备注
  11. 五:Java+SpringBoot集成SwaggerUI
  12. 01.vue的简单实例
  13. python 3.X中打包二进制数据存储字符串出错原因分析
  14. vs2010字符集问题
  15. 内外网同时使用-路由配置
  16. CTF学习之路-攻防世界:MISC,入门篇
  17. 亚马逊 kindle 刷机 过程记录
  18. mysql 批量插入最大数量_MySQL批量插入大量数据方法
  19. 高等数学总结(无穷级数)
  20. Windows如何根据代码签名生态系统确定要信任的软件

热门文章

  1. ​全网首发,TensorFlow 2.0 中文视频教程来啦
  2. CVPR 2019 CLIC 图像压缩挑战赛冠军方案解读
  3. java堆排序解决topk问题,利用堆排序来解决topK问题
  4. 代码安全检视方法有_在华为写了 13 年代码,都是宝贵的经验
  5. 计算机视觉论文-2021-06-16
  6. 卧槽!AI 太火爆了!!!
  7. 收藏 | 9 个技巧让你的 PyTorch 模型训练变得飞快!
  8. 【Python】Python实战从入门到精通之六 -- 教你读取文件
  9. mac linux 蓝牙键盘,还在纠结Mac版键盘?试试KeyRemap4MacBook吧!
  10. ubuntu Vim的退出命令