按照课本中的理解
save();左右是用于保存当前画布的状态。
restore();作用是恢复上次保存的画布状态。
下面的程序的作用是“使用了这两个方面,使得旋转红色方块的时候,保证蓝色方块不受影响。
”
[email protected]
public void surfaceCreated(SurfaceHolder holder) {
canvas = mHolder.lockCanvas();
Paint mPaint = new Paint();
mPaint.setColor(Color.BLUE);
canvas.drawRect(100, 200, 200, 300, mPaint);
canvas.save();
canvas.rotate(45);
mPaint.setColor(Color.RED);
canvas.drawRect(150, 10, 200, 60, mPaint);
canvas.restore();
mHolder.unlockCanvasAndPost(canvas);
}
我不是很明白
用了这个canvas.restore();
方法后,不是恢复到上次保存的画布状态吗?
那应该只有蓝色方块呀,而不应该出现红色方块呀?请大侠指点哦,谢谢
------解决方案--------------------
restore 后面是不是有SHOW啊什么方法把恢复的内容显示出来的,纯臆测。