先解释下:
1.画布上坐标轴的初始状态的原点是在画布左上角的,x轴向右延伸,y轴向下延伸。
2.canvas.roate、canvas.translate、canvas.scale,分别是旋转、平移、缩放操作,这些操作都是针对坐标轴的进行的,就是执行这些操作的时候,原先画布上的内容不会受到影响,受影响的是接下来画出的内容。
比如在一张空白的画布上执行如下代码:
最终呈现出来的样子是bmp1没有缩放,bmp2进行了缩放。
3.以上两点的理解,可以参考这个网址:http://www.th7.cn/Program/Android/201406/213375.shtml
好了,进入正题:canvas.save()可以保存当前坐标轴的状态,一般我们先执行canvas.save(),然后再对坐标轴进行平移旋转等操作,再画出所要画的内容,最后,使用canvas.restore()使坐标轴复原(复原到上一个save的状态)。
举个例子吧,在一张空白画布上执行以下代码:
canvas.save();
canvas.restore();
canvas.drawBitmap(bmp2,
最终呈现出来的样子是bmp1缩放了,bmp2并未缩放。