一. 前言
Canvas-画布,是一种绘制时的规则。画布只是绘制时的规则,但内容实际上是绘制在屏幕上的。
二. 基础
1. Paint类
2. Path类
三. 创建 & 获取
1 | // 方法1 |
官方推荐方法4来创建并获取Canvas,原因:
SurfaceView里有一条线程是专门用于画图,所以方法4的画图性能最好,并适用于高质量的、刷新频率高的图形。
而方法3刷新频率低于方法3,但系统花销小,节省资源。
四. 绘制方法
1. 绘制颜色
① drawColor
② drawRGB
③ drawARGB
2. 绘制基本图形
① 点
② 线
③ 矩形
④ 圆角矩形
⑤ 圆弧
⑥ 圆
⑦椭圆
3. 绘制图形
① 绘制图片
② 绘制位图
4. 绘制文字
① 绘制文字drawText
② 绘制文字时指定每个文字的位置drawPosText
③ 根据路径绘制文字drawTextOnPath
5. 绘制路径
① drawPath
② 贝塞尔曲线
6. 画布操作
① 画布裁剪
1> 裁剪路径 clipPath
2> 裁剪矩形 clipRect
3> 裁剪区域 clipRegion
② 画布变换
1> 位移 translate
2> 缩放 scale
3> 旋转 rotate
4> 错切 skew
③ 画布快照
1> 保存当前状态 save
2> 回滚到上一次保存的状态 restore
3> 保存图层状态 saveLayerXxx
4> 滚回到指定状态 restoreToCount
5> 获取保存次数 getSaveCount