<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="./ItcastRect.js"></script>
</head>
<body>
<canvas width="600" height="400" >
</canvas>
</body>
<script type="text/javascript">
var canvas=document.querySelector("canvas");
canvas.style.border="solid 1px #000";
var c=canvas.getContext('2d');
var canvasHide=document.createElement("canvas");//先用JS创建一个canvas元素
canvasHide.width=canvas.width;//设置JS创建的canvas元素的宽
canvasHide.height=canvas.height;//设置JS创建的canvas元素的高
var chide=canvasHide.getContext("2d");//设置绘制2d的画布
for(var i=0;i<10;i++){
var r = new ItcastRect({
x: Math.random() * 100,
y: Math.random() * 100,
w: Math.random() * 100,
h: Math.random() * 100,
rotation: Math.random() * 90,
opacity: Math.random()
});
r.render(chide);
}
//上面的for循环是在JS创建的canvas中先绘画完
c.drawImage(canvasHide,100,100);
//这里是把在JS创建的canvas中的绘画显示到客户端显示的canvas
//这样的做法的优点是先把图在内存绘画好,再显示到真正显示的画布中
//如果是直接在真正显示的画布上绘画,这样会大大消耗用户的显卡,因为是循环,
//在真正显示的画布上的每一次绘画都是耗费相当的巨大
</script>
</html>