android裡面Canvas,save()與restore()。
阿新 • • 發佈:2019-01-28
算是轉載吧:參考: 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);
註釋後效果: