在慕课网有一节讲的是用canvas画七巧板,自己回来重新做了一下。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Tangram</title></head><body><canvas id="canvas" width="400" height="400" style="border:1px solid #000;">浏览器版本不支持html5</canvas><script>//七巧板对象,定义了坐标及颜色var tangram = [{p:[{x:0,y:0},{x:0,y:400},{x:200,y:200}],color:"#A4C400"},{p:[{x:200,y:200},{x:0,y:400},{x:400,y:400}],color:"#0050EF"},{p:[{x:300,y:300},{x:400,y:200},{x:400,y:400}],color:"#6A00FF"},{p:[{x:300,y:100},{x:100,y:100},{x:200,y:200}],color:"#E51400"},{p:[{x:200,y:0},{x:400,y:0},{x:400,y:200}],color:"#E3C800"},{p:[{x:0,y:0},{x:100,y:100},{x:300,y:100},{x:200,y:0}],color:"#6D8764"},{p:[{x:300,y:100},{x:400,y:200},{x:300,y:300},{x:200,y:200}],color:"#F472D0"}];window.onload = function(){console.log("author:AliceCheck;http://my.csdn.net/alicecheck");var canvas = document.getElementById("canvas");var context = canvas.getContext("2d");for(var i=0,len=tangram.length; i < len; i++ ){getTangram(tangram[i],context);}}//画出每一个块function getTangram(piece,context){context.beginPath();context.moveTo(piece.p[0].x,piece.p[0].y);for(var i = 1,len=piece.p.length; i < len; i++){context.lineTo(piece.p[i].x,piece.p[i].y);}context.fillStyle=piece.color;context.fill();context.closePath();}</script>
</body>
</html>

东西很简单的
效果图

canvas画七巧板相关推荐

  1. Canvas之画七巧板

    FromCanvas教程 Canvas绘图是基于状态的,看完后,略有了解Canvas! 七巧板代码如下: <!DOCTYPE html> <html><head lang ...

  2. 微信小程序中base64格式的小程序码通过canvas画出来无效

    使用场景 小程序中的文章详情页面有一个分享功能:用户点击分享按钮,生成一张分享图片(包括封面图,简介以及带有文章ID的小程序码),方便用户保存在本地. 问题说明 小程序码通过后台接口获取,格式如下:' ...

  3. 关于星空的java小程序_[Java教程]小程序使用Canvas画饼图_星空网

    小程序使用Canvas画饼图 2018-10-24 0 先上效果图 -------------------------------------------------------------w --- ...

  4. python程序、画一个笑脸_如何使用canvas画一个微笑的表情(代码示例)

    本篇文章给大家带来的内容是关于如何使用canvas画一个微笑的表情(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 实习期间让我用canvas画一个表情,比较简单,话不多说 ...

  5. [html] 请使用canvas画一个椭圆

    [html] 请使用canvas画一个椭圆 <script> var c=document.getElementById("myCanvas"); var ctx=c. ...

  6. [html] 请使用canvas画一个渐变的长方形

    [html] 请使用canvas画一个渐变的长方形 // 普通canvas绘图工具类// umd适配多种引入方式 (function(root, factory) {if (typeof define ...

  7. HTML5 Canvas 画虚线组件

    前段时间由于项目需要,用到了HTML5 Canvas画图,但是没有画虚线的方法,自己写了一个HTML5 画虚线的组件. dashedLine.js 1 if (window.CanvasRenderi ...

  8. html5垂直线怎么画,HTML5 Canvas画线技巧

    正统的HTML5 Canvas中如下代码 复制代码代码如下: ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(3 ...

  9. 毛边效果 html,Html5中Canvas画线有毛边如何解决

    Html5 Canvas 所有的画线指令画出来的线条都有毛边(比如 lineTo, arcTo,strokeRect),这是因为在Canvas中整数坐标值对应的位置恰巧是屏幕象素点中间的夹缝,那么当按 ...

最新文章

  1. yabailv 运放_运放的压摆率
  2. 3位物理学家获基础物理学特别突破奖
  3. ExtJs4之常用函数
  4. linux anacron 定时任务 计划任务
  5. 网站优化充满机遇和挑战
  6. Cause: java.sql.SQLException: ORA-00904: ID: 标识符无效
  7. LeetCode-反转链表
  8. 零碎的小知识点 ----------C# ToString()函数注意事项
  9. android源码编译jar,在android源码编译中导入第三方jar包
  10. C语言小于n的素数,关于求N以内素数的一点小问题(N小于一亿)
  11. 【Code】8位编程语言的创始人,你知道几位?
  12. 解决%d format: a number is required, not str问题【一试灵】
  13. python实现xlsx批量转xls(或者xls批量转xlsx)
  14. 计算机网络首地址和末地址公式,计算机中的地址即为存储单元的编码,一个首地址为1000H,容量为16KB的存储区域,末地址为________H。...
  15. JQuery TreeGrid 组件详解
  16. 分布式消息队列RocketMQ—个人笔记(尚硅谷老雷老师视频)
  17. 通过开源工具XCA工具签发和管理可被浏览器信任的SSL证书
  18. 好好说话之ret2shellcode
  19. 传奇战盟GOM引擎登录器配置教程
  20. Python||datetime.timedelta()详解,核心是minutes与minute

热门文章

  1. 网络优化之“弱覆盖与过覆盖”
  2. NameError: name 'mnist' is not defined
  3. python pip 查看一个package的所有版本
  4. Matlab学习笔记(1) - 符号变量及其运算
  5. 计算机农业类的sci,农学类比较好投的SCI期刊有哪些
  6. 归一化相关 matlab,matlab – 归一化互相关的基础知识
  7. PyCharm自动添加作者注释
  8. MATLAB的线性规划工具
  9. Python中如何读取npy、npz文件?
  10. IPU相关知识(一)