canvas 使用save restore方法
save() 是将当前状态放入栈中,保存 canvas 全部状态。restore() 将 canvas 恢复到最近的保存状态。
注意:save restore 成对使用
var canvas=document.getElementById('canvas');
var context=canvas.getContext('2d');
context.fillStyle = "#ddd";
context.fillRect(0,0,400,400);
context.save();//状态保存
context.translate(100,100);//状态位移
context.fillStyle="red";
context.fillRect(0,0,100,100);
context.restore();//状态恢复
context.save();
context.translate(200,200);
context.fillStyle="green";
context.fillRect(0,0,100,100);
context.restore();

若不使用save restore方法,则translate将会叠加,
context.translate(100,100);//状态位移 context.fillStyle="red"; context.fillRect(0,0,100,100); context.translate(200,200); context.fillStyle="green"; context.fillRect(0,0,100,100);