保存canvas状态
状态保存代码
图形变换三个函数
基本操作,看图
图形变换。
save函数可以保存context的当前状态,restore可以恢复context的状态
最基本的三种图形变换,位移、旋转和缩放
先绘制基本轮廓,然后进行图形变换
保存canvas的状态。避免被translate()这些函数影响
translate的坐标变换时叠加的
变化完后要使用
context.translate(..., ... )把坐标变换回来
简便方法
context.save() 和 context.restore() 成对出现 实现坐标变换和还原
context.translate(x, y); 默认多个translate会叠加。
save(); restore(); 成对出现,中间绘图状态不会对后面造成影响。
translate()用于改变坐标原点的位置,每次调用这个接口时,应该还原回去(状态叠加)。
save()和restore()成对出现,可以保存当前绘图状态并还原成绘图之前的状态,节省了很多麻烦
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图形变换和状态保存</title>
</head>
<body>
<canvas id="canvas" style="border: 1px solid black;display: block;margin:10px auto;"></canvas>
<script type="text/javascript">
/*
*位移:translate(x,y)
*旋转: rotate(deg)
*缩放: scale(sx,sy)
*/
window.onload=function(){
var c=document.getElementById("canvas");
c.width=1024;
c.height=800;
var context=c.getContext("2d");
context.fillStyle="red";
context.translate(100,100);//状态位移
context.fillRect(0,0,400,400);
context.restore();//状态恢复
context.save();//状态保存
context.fillStyle="green";
context.translate(300,300);
context.fillRect(0,0,400,400);
context.restore();
}
</script>
</body>
</html>