android里面Canvas,save()与restore()。

来源:互联网 发布:java 线程之间通信 编辑:程序博客网 时间:2024/06/05 21:20
算是转载吧:参考:  http://www.iteye.com/topic/440623可以去看看

就说下自己的理解。

==================================

主要作用:

对cavans里面一部分内容分,进行平移、旋转、缩放,操作时  不会影响其他部分。大概酱~~

 

          Paint mPaint = new Paint();        mPaint.setColor(Color.BLUE);        canvas.drawRect(100, 200, 200, 300, mPaint);        canvas.save();//保存cavans状态<span style="color:#808080;">,保不保存没差,保存的是默认状态。</span>// 不管注释任意部分,都不会改变第一个蓝色的正方形,理解为旋转不会影响已经绘制部分?        canvas.rotate(45);//cavans旋转45度        mPaint.setColor(Color.RED);        canvas.drawRect(150, 10, 200, 60, mPaint);        canvas.restore();//cavans还原到保存的状态,不会影响以后绘制的内容,已绘制的状态不会改变//至于这东西只调用一半会出什么问题。。什么问题都没有,理解为  cavans有默认的保存状态,恢复不会出问题        mPaint.setColor(Color.GREEN);        canvas.drawRect(200, 60, 300, 100, mPaint);
运行后效果:


 注释后效果:



0 0
原创粉丝点击