如图, 给出七巧板的各点坐标, 接下来, 通过canvas来绘制这样一个七巧板图形

let pos = [    // 获取各个图形的各点坐标, 以及图形颜色{angle: [{x:0,y:0}, {x:250,y:0}, {x:0,y:250}],                      color: 'red'},{angle: [{x:250,y:0}, {x:375,y:125}, {x:250,y:250}, {x:125,y:125}], color: 'green'},{angle: [{x:250,y:0}, {x:500,y:0}, {x:375,y:125}],                  color: 'blue'},{angle: [{x:0,y:250}, {x:125,y:125}, {x:125,y:375}, {x:0,y:500}],   color: 'yellow'},{angle: [{x:125,y:125}, {x:250,y:250}, {x:125,y:375}],              color: 'pink'},{angle: [{x:250,y:250}, {x:500,y:0}, {x:500,y:500}],                color: '#999'},{angle: [{x:0,y:500}, {x:250,y:250}, {x:500,y:500}],                color: '#00a2ff'}
];function draw (ctx, pos) {for (let i = 0; i < pos.length; i++) {let angle = pos[i].angle;ctx.fillStyle = pos[i].color;ctx.strokeStyle = '#000';ctx.lineWidth = 5;ctx.beginPath();ctx.moveTo(angle[0].x, angle[0].y);for (let j = 1; j < angle.length; j++) {ctx.lineTo(angle[j].x, angle[j].y);}ctx.closePath();ctx.fill();ctx.stroke();}
}
let myCanvas = document.getElementById('myCanvas');myCanvas.width = '500';
myCanvas.height = '500';
let ctx = myCanvas.getContext('2d');window.onload = function () {draw(ctx, pos);
}

canvas 绘制七巧板相关推荐

  1. HTML绘制七巧板,canvas绘制七巧板

    > 脚本语言 > > canvas绘制七巧板 2017-04-19 14:10 出处:清屏网 人气: 在上一节中,我们了解了如何使用canvas绘制线段,这一节,我们使用canvas ...

  2. java实现七巧板问题_[Java教程]canvas,绘制七巧板

    [Java教程]canvas,绘制七巧板 0 2016-11-03 13:00:04 //定义一个数组变量,分别代表七巧板的七块 //每一部分是一个类的对象,每一部分包含一个p, //p也是一个数组, ...

  3. canvas绘制七巧板

    首先推荐的课程学习是<炫丽的倒计时效果Canvas绘图与动画基础>,感谢liuyubobobo的讲解. 偶然之间发现了这门canvas的课程,本来一直都在寻找Canvas教程,学习课程之后 ...

  4. python七巧板代码_canvas绘制七巧板

    在上一节中,我们了解了如何使用canvas绘制线段,这一节,我们使用canvas绘制七巧板. html代码如下所示,和第一节中代码一致: Canvas绘制七巧板 #canvas{ border: 1p ...

  5. python绘制七巧板_CSS3制作七巧板动画

    欢迎访问我的博客GISer空间. 1. CSS3:每块板作为为一个dom元素. 1.1 用一个容器和七个元素来表示七块板. 1.2 通过CSS3的transform的平移.缩放.旋转.变形多种操作来确 ...

  6. Html5画布绘制七巧板

    <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...

  7. canvas绘制的文字如何换行

    <html><head><title>canvas绘制的文字如何换行</title><style type="text/css" ...

  8. HTML5 canvas绘制雪花飘落

    Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表.动画等.没有Canvas的年代,绘图只能借助Flash插件实现,页面不得不用JavaScript和Fl ...

  9. canvas绘制时钟

    听了慕课网Sliav Zhou 的课程canvas绘制时钟,记录下来的代码,每句做了注解便于以后学习,原先每次边听别的课边敲码,错误百出,明明原封不动复制的代码,就会出错,还找不到原因,今天可能运气好 ...

最新文章

  1. $.ajax居然触发popstate事件?
  2. 别在 Java 代码里乱打日志了,这才是打印日志的正确姿势!
  3. ios 静态库合成_iOS链接原理解析与应用实践
  4. 谈谈学习AS3的过程
  5. ASP.NET知识点:母版页的路径问题
  6. Vue组件中使用Sass或者Less全局变量
  7. c++11-std::functionbind
  8. Netflix如何节省92%视频编码成本?
  9. 启动php-fpm时报错
  10. linux service和daemon
  11. MatConvnet工具箱文档翻译理解一
  12. 教你用 Python 爬取 Baidu 文库全格式文档!
  13. 深棕颜色html的色号,棕色rgb颜色值 有谁知道咖啡色的RGB值?
  14. cyclone小知识(四)——利用cyclone和PS制作点云剖面图(包括画直角坐标系)
  15. archlinux触摸板设置
  16. Stacked Hourglass Networks 理解
  17. c语言满屏爱心,微信聊天可以发满屏动态爱心了 个性又浪漫!
  18. GB/T18655-2010标准下的动力电池系统及其BMS电磁EMC测试
  19. Java Socket详解+基础模板+各种常见问题+端口映射
  20. Revisiting Network Support for RDMA

热门文章

  1. DRM框架(vkms)分析(6)---- plane初始化
  2. FreeType 用法
  3. 「首席架构师精选」精选绘图软件
  4. 重构类关系-Replace Inheritance with Delegation以委托取代继承十一
  5. 一文梳理 | 电力企业网络安全管理及等级保护工作重点
  6. 当当网系统分级与海量信息动态发布实践
  7. 《Redis系列第三篇、incr与decr使用|CSDN创作打卡》
  8. Linux下命令行中的复制和粘贴
  9. 手机广告 开源SNS
  10. ubuntu 回到根目录,回到上一级 常用指令