1. 程式人生 > >android裡面Canvas,save()與restore()。

android裡面Canvas,save()與restore()。

算是轉載吧:參考:  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);

執行後效果:


 註釋後效果: