Canvas简记

来源:互联网 发布:access 输入数据 编辑:程序博客网 时间:2024/05/17 09:15

1.在onDraw方法里,我们经常会看到调用save和restore方法
save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。
restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响
save和restore要配对使用(restore可以比save少,但不能多),如果restore调用次数比save多,会引发Error。

2.

int restoreCount = canvas.save();canvas.restoreToCount(restoreCount);

Canvas.restoreToCount(int);//恢复为之前堆栈保存的编号为int的Canvas状态

Canvas也可多次保存不同的状态,并予以编号:

Canvas.save(int);//将Canvas当前状态保存在堆栈,并予以编号intCanvas.rotate(45.0f);//Canvas旋转45度Canvas.restoreToCount(int);//恢复为之前堆栈保存的编号为int的Canvas状态

3.

Canvas.save();//将Canvas当前状态保存在堆栈Canvas.rotate(45.0f);//Canvas旋转45度Canvas.restore();//恢复为之前堆栈保存的Canvas状态,即旋转前的状态

4.

canvas.translate(160, 10);//把当前画布的原点移到(160,10),后面的操作都以(160,10)作为参照点,  canvas.clipRect(10, 10, 90, 90);//这里的真实坐标为左上(170,170)、右下(250,250)  
0 0
原创粉丝点击