Canvas简记

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当前状态保存在堆栈,并予以编号int
Canvas.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)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值