以下是 html5 canvas绘制七巧板特效代码 的示例演示效果:
部分效果截图:

HTML代码(index.html):
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>html5 canvas绘制七巧板特效</title>
</head>
<body>
<div style="margin:0 auto;width:600px; height:auto;text-align: center;">
    <h2>html5 canvas绘制七巧板特效</h2>
    <canvas id="mycanvas" width="600" height="600" style="display:block;margin:50px auto"></canvas>
</div>
<script>
    var c=document.getElementById("mycanvas");
    var ctx= c.getContext("2d");
//    第一个三角形
//    开始绘制
    ctx.beginPath();
//    绘制的基点
    ctx.moveTo(0,0);
//    绘制从前一点到这点的直线
    ctx.lineTo(300,300);
    ctx.lineTo(0,600);
    ctx.closePath();//填充或闭合 需要先闭合路径才能画
//    空心三角形
//    ctx.strokeStyle="#FF7900";
//    ctx.stroke();
//    实心三角形
    ctx.beginPath();
    ctx.moveTo(0,0);
    ctx.lineTo(300,300);
    ctx.lineTo(0,600);
    ctx.closePath();//填充或闭合 需要先闭合路径才能画
//    进行绘图处理
    ctx.fillStyle = 'rgba(200,0,0,0.5)';
    ctx.fill();
//    第二个三角形
    ctx.beginPath();
    ctx.moveTo(0,0);
    ctx.lineTo(300,0);
    ctx.lineTo(150,150);
    ctx.closePath();
    ctx.fillStyle="rgba(255,121,0,0.5)";
    ctx.fill();
    //    第三个三角形
    ctx.beginPath();
    ctx.moveTo(300,0);
    ctx.lineTo(600,0);
    ctx.lineTo(600,300);
    ctx.closePath();
    ctx.fillStyle="rgba(255,0,0,0.5)";
    ctx.fill();
    //    第四个三角形
    ctx.beginPath();
    ctx.moveTo(0,600);
    ctx.lineTo(600,600);
    ctx.lineTo(300,300);
    ctx.closePath();
    ctx.fillStyle="rgba(3,165,72,0.5)";
    ctx.fill();
    //    第五个三角形
    ctx.beginPath();
    ctx.moveTo(300,300);
    ctx.lineTo(450,150);
    ctx.lineTo(450,450);
    ctx.closePath();
    ctx.fillStyle="rgba(46,180,255,0.5)";
    ctx.fill();
    //   正方形
    ctx.beginPath();
    ctx.moveTo(300,0);
    ctx.lineTo(450,150);
    ctx.lineTo(300,300);
    ctx.lineTo(150,150);
    ctx.closePath();
    ctx.fillStyle="rgba(255,245,0,0.5)";
    ctx.fill();
    //   平行四边形
    ctx.beginPath();
    ctx.moveTo(600,600);
    ctx.lineTo(600,300);
    ctx.lineTo(450,150);
    ctx.lineTo(450,450);
    ctx.closePath();
    ctx.fillStyle="rgba(129,0,196,0.5)";
    ctx.fill();
</script>
</body>
</html> 
             
        