canvas——七巧板

<canvas id="canvas" style="border:1px solid #aaa;display: block;margin: auto;"></canvas>

    <script type="text/javascript">

    var tangram = [
        {p:[{x:0,y:0},{x:300,y:300},{x:0,y:600}],color:"#caff67"},
        {p:[{x:0,y:0},{x:300,y:300},{x:600,y:0}],color:"#67becf"},
        {p:[{x:300,y:600},{x:150,y:450},{x:0,y:600}],color:"#ef3d61"},
        {p:[{x:300,y:600},{x:600,y:300},{x:600,y:600}],color:"#f9f51a"},
        {p:[{x:300,y:300},{x:450,y:450},{x:300,y:600},{x:150,y:450}],color:"#a594c0"},
        {p:[{x:300,y:300},{x:450,y:150},{x:450,y:450}],color:"#fa8ece"},
        {p:[{x:450,y:150},{x:600,y:0},{x:600,y:300},{x:450,y:450}],color:"#f6ca29"},

    ]
        window.onload = function(){
            var canvas = document.getElementById("canvas");

            canvas.width = 600;
            canvas.height = 600;

            var context = canvas.getContext("2d");

            for (var i = 0; i < tangram.length; i++) {
                draw(tangram[i],context)
            }

            function draw(piece, cxt){
                cxt.beginPath();
                cxt.moveTo(piece.p[0].x,piece.p[0].y);
                for (var i = 1; i < piece.p.length; i++) {
                    cxt.lineTo(piece.p[i].x,piece.p[i].y);
                }
                cxt.fillStyle = piece.color;
                cxt.closePath();

                cxt.fill();
            }
        }
    </script>
时间: 2024-08-05 06:26:31

canvas——七巧板的相关文章

canvas,绘制七巧板

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; min-height: 35.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #d74200 } p.p4 {

canvas基础入门(一)绘制线条、三角形、七巧板

复杂的内容都是有简单的线条结合而成的,想要绘制出复杂好看的内容先从画直线开始 canvas绘制直线先认识几个函数 beginPath():开始一条路径,或重置当前的路径 moveTo(x,y):用于规定直线的起点坐标 lineTo(x,y):用于规定直线的终点坐标 closePath():方法创建从当前点到开始点的路径 stroke():方法会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径.默认颜色是黑色 利用上面的函数就可以简单的画出直线了 代码 <canvas id

HTML5七巧板canvas绘图(复习)

1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title></title> 6 <script type="te

canvas绘制七巧板

不满足于CSS对颜色的控制,使用HTML5画布功能绘制了一张漂亮的五彩图片,以下代码,复制粘贴进一个格式为HTML的文档即可见. <canvas id="canvas"style="border:5px solid #ccc;display: block;margin:0 auto;"></canvas> 1 <script type="text/javascript"> 2 var tangtam=[ 3 {

[学习笔记]HTML5之canvas

虐了一下午的canvas 先撸了一个七巧板 <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <canvas id="canvas" style="border:1px solid #ccc; display:block; mar

纯CSS3打造七巧板

原文:纯CSS3打造七巧板 最近项目上要制作一个七巧板,脑子里瞬间闪现,什么...七巧板不是小时候玩的吗... 七巧板的由来 先来个科普吧,是我在查资料过程中看到的,感觉很有意思. 宋朝有个叫黄伯思的人,对几何图形很有研究,他热情好客,发明了一种用6张小桌子组成的“宴几”——请客吃饭的小桌子.后来有人把它改进为7张桌组成的宴几,可以根据吃饭人数的不同,把桌子拼成不同的形状,比如3人拼成三角形,4人拼成四方形,6人拼成六方形……这样用餐时人人方便,气氛更好.后来,有人把宴几缩小改变到只有七块板,用

canvas的基础使用。

目录: 创建canvas. 绘制直线.多边形和七巧板. 绘制弧和圆. (有些图过于宽,被挤压了.可以去相册[canvas用到的图.]看原图.) 创建canvas. HTML5的新标签<canvas></canvas> 在使用时会添加id,通过id来获取canvas元素来进行绘图操作. <canvas id="canvas"></canvas> 可以添加样式.在不指定宽高的时候,默认是300px*150px. <canvas id=&

浅尝HTML5之canvas

转自:http://segmentfault.com/a/1190000000661407/ HTML5新标签 HTML5新引入header,footer,article,section,aside和nav,audio,datalist,details,video,progress,embed等标签 section 标签用于标识页面上的重要内容部分.该标签有点类似于将一本书分成几个章节. article 标签标识了 Web 页面中的主要内容. aside 标签表示arcitle元素内容之外的.与

Canvas绘图与动画详解

1.canvas 绘制       当canvas不设置大小时,默认宽300,高150:       注意:不建议使用css 设置大小,可以利用行内样式 width="",height=""去设置(无单位):                 canvas 是基于状态进行绘制的:      举例说明:            上述代码显示结果为全部均为黑色:       如何更改? 在绘制前context.beginPath(),结束后 context.closePat