全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

canvas绘制七巧板

效果如下所示:

代码分享:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Canvas七巧板</title>
</head>
<body>
  <canvas id="canvas" style=" border: 1px solid #aaa;display:block;margin:50px auto;"></canvas>
  <script type="text/javascript">
    var tangram = [
      {p:[{x:0,y:0},{x:800,y:0},{x:400,y:400}],color:'#caff67'},
      {p:[{x:0,y:0},{x:400,y:400},{x:0,y:800}],color:'#67becf'},
      {p:[{x:800,y:0},{x:800,y:400},{x:600,y:600},{x:600,y:200}],color:'#ef3d61'},
      {p:[{x:600,y:200},{x:600,y:600},{x:400,y:400}],color:'#f9f51a'},
      {p:[{x:400,y:400},{x:600,y:600},{x:400,y:800},{x:200,y:600}],color:'#a594c0'},
      {p:[{x:200,y:600},{x:400,y:800},{x:0,y:800}],color:'#fa8ecc'},
      {p:[{x:800,y:400},{x:800,y:800},{x:400,y:800}],color:'#f6ca29'}
    ]
//    定义一个存放绘制路径和颜色的数组
    window.onload=function (){
      var canvas=document.getElementById('canvas');
//      获取canvas
      canvas.width = 800;
      canvas.height = 800;
//      定义画布的宽高
      var context=canvas.getContext('2d');
//      创建画布
      for( var i=0; i<tangram.length; i++){
        draw(tangram[i],context);
//        遍历数组tangram执行函数draw

      }
//      draw这个函数
     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++)
//          遍历数组中的p属性
          cxt.lineTo(piece.p[i].x , piece.p[i].y);
//        画路径到这个坐标
          cxt.closePath();
//          关闭这条打开的路径

          cxt.fillStyle = piece.color;
          cxt.fill();
//          给绘制的形状填充颜色
     }
    }
  </script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# canvas  # 绘制  # 七巧板  # canvas七巧板  # Canvas实现动态的雪花效果  # canvas实现钟表效果  # canvas实现探照灯效果  # canvas实现图像截取功能  # canvas实现动态小球重叠效果  # canvas实现图像放大镜  # canvas实现粒子时钟效果  # canvas的神奇用法  # js Canvas绘制圆形时钟教程  # canvas实现十二星座星空图  # 遍历  # 这条  # 所示  # 组中  # body  # border  # id  # title  # UTF 


相关文章: 网站插件制作软件免费下载,网页视频怎么下到本地插件?  b2c电商网站制作流程,b2c水平综合的电商平台?  如何选择美橙互联多站合一建站方案?  如何通过远程VPS快速搭建个人网站?  如何在景安云服务器上绑定域名并配置虚拟主机?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何选择可靠的免备案建站服务器?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站之星图片链接生成指南:自助建站与智能设计教程  如何快速搭建高效WAP手机网站?  建站之星客服服务时间及联系方式如何?  如何在腾讯云服务器快速搭建个人网站?  MySQL查询结果复制到新表的方法(更新、插入)  香港服务器部署网站为何提示未备案?  如何在橙子建站中快速调整背景颜色?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何用PHP快速搭建CMS系统?  如何用PHP快速搭建高效网站?分步指南  TestNG的testng.xml配置文件怎么写  制作网站的公司有哪些,做一个公司网站要多少钱?  教学网站制作软件,学习*后期制作的网站有哪些?  济南企业网站制作公司,济南社保单位网上缴费步骤?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  如何在宝塔面板中修改默认建站目录?  Python lxml的etree和ElementTree有什么区别  如何选择服务器才能高效搭建专属网站?  ,怎么在广州志愿者网站注册?  常州企业建站如何选择最佳模板?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  javascript中的try catch异常捕获机制用法分析  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何在Windows服务器上快速搭建网站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  制作公司内部网站有哪些,内网如何建网站?  建站之星×万网:智能建站系统+自助建站平台一键生成  定制建站策划方案_专业建站与网站建设方案一站式指南  如何登录建站主机?访问步骤全解析  XML的“混合内容”是什么 怎么用DTD或XSD定义  小型网站建站如何选择虚拟主机?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  建站之星导航如何优化提升用户体验?  三星网站视频制作教程下载,三星w23网页如何全屏?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何做网站制作流程,*游戏网站怎么搭建?  如何快速搭建安全的FTP站点?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。