Canvas的基本使用——常用的Api方法介绍(二)
来源:互联网 发布:上海大数据开放平台 编辑:程序博客网 时间:2024/05/19 16:50
在上一篇博客中,介绍了Canvas常用的绘制方法,在这篇博客中,将继续对Canvas的常用方法进行介绍。
Canvas的save方法:
/*** 保存当前画布的矩阵Matrix信息和切割clip信息,并返回一个代表当前状态的一个状态值,* 通过这个状态值,我们可以在之后把画布恢复到这个状态,保证了绘制不会出错和紊乱。* @return 返回状态值*/public int save();/*** @param saveFlags * @return 返回状态值*/public int save(int saveFlags);/*** saveLayer是新建一个图层,这个与save方法的本质区别,save方法不新建图层,并把当前图层的状态id返回,*/public int saveLayer(float left, float top, float right, float bottom, @Nullable Paint paint);/*** 返回到上一个的图层状态,*/public void restore();/*** 返回到指定的图层状态*/public void restoreToCount(int saveCount);
save方法与restore方法一般都是成对出现的。新建图层是有内存消耗的,所以能用save方法实现的操作,尽量不用saveLayer方法。
Canvas的translate方法:
画布的平移方法
/** * 画布向(100,50)方向平移 * * 参数1: 向X轴方向移动100距离 * 参数2: 向Y轴方向移动50距离 */ canvas.translate(100, 50);
Canvas的scale缩放方法:
/** * 默认以坐标原点为缩放原点 * 在X轴方向放大为原来2倍,Y轴方向方大为原来的4倍 * 参数1: X轴的放大倍数 * 参数2: Y轴的放大倍数 */canvas.scale(2, 4);/** * 在X轴方向放大为原来2倍,Y轴方向方大为原来的4倍 * 参数1: X轴的放大倍数 * 参数2: Y轴的放大倍数 * 参数3: 原点X坐标 * 参数4: 原点Y坐标 */canvas.scale(2, 4,100,100);
效果:
Canvas的旋转方法rotate:
/** * 原点为中心,旋转30度(顺时针方向为正方向 ) * 参数: 旋转角度 */canvas.rotate(30);/** * 以(100,100)为中心,旋转30度,顺时针方向为正方向 * 参数: 旋转角度 */canvas.rotate(30,100,100);
效果图:
Canvas操作例子
Paint p = new Paint(); p.setColor(Color.argb(50,255,100,100)); canvas.drawRect(0,0,200,200,p); // 以原始Canvas画出一个矩形1 canvas.translate(300,300); // 将Canvas平移 (100,100) p.setColor(Color.argb(50,100,255,100)); canvas.drawRect(0,0,200,200,p); // 矩形2 canvas.rotate(30); //将Canvas旋转30 p.setColor(Color.argb(50,100,0,255)); canvas.drawRect(0,0,200,200,p); // 矩形3 canvas.scale(2, 2); // 将Canvas以原点为中心,放大两倍 p.setColor(Color.argb(50,255,255,0)); canvas.drawRect(0,0,200,200,p); // 矩形4
效果图:
阅读全文
0 0
- Canvas的基本使用——常用的Api方法介绍(二)
- Canvas的基本使用——常用的Api方法(2):clip*裁剪方法
- Canvas的基本使用——常用的绘制方法介绍
- html5-canvas常用的api介绍
- Canvas的基本介绍和使用
- Canvas常用的方法
- canvas的基本使用
- Canvas的基本使用
- (十)Canvas 的基本使用
- Android Canvas的常用方法
- Android Canvas的常用方法
- Canvas的四个常用方法
- 图形编程——Paint和Canvas的基本使用
- android canvas的基本使用
- android Canvas的基本使用
- 学徒浅析Android开发:第三讲——Dialog的常用方法介绍(二)
- canvas的方法--画布的基本方法
- Canvas绘图——使用Canvas绘制图形的基本教程
- Android Setting 设置项添加到快速搜索
- Eclipse+Maven+Struts2+strusts拦截器实现上传多个文件
- codeforces 863B 之 Kayaking
- (10.14更新)关于高德地图安卓SDK的一些使用细节坑(包括Marker与缩放地图)
- 工程管理器Makefile和文件处理类命令补充
- Canvas的基本使用——常用的Api方法介绍(二)
- 树莓派扩展swap分区以及安装htop
- HDU 4513 吉哥系列故事――完美队形II(manacher)
- 3.3 Linux头文件和库的搜索路径
- 9.25 笔记-linux命令使用
- POJ 1274 The Perfect Stall
- sdut 1466 双向队列
- Python2.7+PyQt4 QtDesigner学习笔记系列——2:QtDesigner初视
- (DOM艺术) 第八章 充实文档内容一