今天刚开始学习canvas,就画了一个简易的七巧板。

<!DOCTYPE html>
<html>
<head><title>七巧板</title>
</head><body>
<canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;"></canvas>
</body><script>
//定义一个数组包含七个对象,每个对象里有图形的顶点坐标数组(p)和图形颜色(color)。
//*注意四边形及以上的点的坐标一定要按顺序。var pos = [{p:[{x:0,y:0},{x:600,y:0},{x:300,y:300}],color:"#ed811f"},{p:[{x:600,y:0},{x:600,y:600},{x:300,y:300}],color:"#69dce8"},{p:[{x:0,y:0},{x:0,y:300},{x:150,y:450},{x:150,y:150}],color:"#e500cd"},{p:[{x:150,y:150},{x:150,y:450},{x:300,y:300}],color:"#0140e5"},{p:[{x:300,y:300},{x:150,y:450},{x:300,y:600},{x:450,y:450}],color:"#00e4a5"},{p:[{x:450,y:450},{x:300,y:600},{x:600,y:600}],color:"#e9e500"},{p:[{x:0,y:300},{x:0,y:600},{x:300,y:600}],color:"#0ea00f"}]window.onload = function(){var canvas = document.getElementById("canvas");canvas.width = 600; canvas.height = 600;if(canvas.getContext("2d")){var context = canvas.getContext("2d");for(var i = 0; i < pos.length; i++){draw(pos[i],context)}}else{alert("当前浏览器不支持Canvas,请更换浏览器再试");}}function draw(piece, ctx){ctx.beginPath();ctx.moveTo(piece.p[0].x, piece.p[0].y);for(var i=1; i<piece.p.length; i++){ctx.lineTo(piece.p[i].x, piece.p[i].y);         }ctx.closePath();ctx.fillStyle = piece.color;ctx.fill();ctx.lineWidth = 3;ctx.strokeStyle = "black";ctx.stroke();}
</script>
</html>

用Canvas画一个七巧板相关推荐

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

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

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

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

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

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

  4. 用canvas画一个太极图(八卦图)

    用canvas画一个太极图(八卦图) 源码展示链接: https://yanhappiness.github.io/Notes/canvas_src.html 理解什么是canvas canvas是H ...

  5. 如何利用canvas画一个圆,并且填充颜色

    如何利用canvas画一个圆,并且填充颜色(小白专用,大佬勿看) canvas基础 相信在此之前,你对canvas已经有一定的了解了,接下来我将介绍,如何利用canvas画一个圆. 1.新建一个htm ...

  6. 用canvas画一个五星红旗

    利用canvas画一个好看的五星红旗!!! 简单,容易上手! <!DOCTYPE html> <html lang="utf-8"> <meta ht ...

  7. 用canvas画一个简易的机器猫头像

    用canvas画一个机器猫的头像,原图如下: 代码实现效果如下: 代码如下: <!DOCTYPE html> <html lang="en"> <he ...

  8. html5 --- 使用canvas画一个渐变矩形

    我们希望得到如下效果: 首先准备画布 // HTML <canvas width="500" height="375" id ="a" ...

  9. 【css】使用 canvas 画一个圆、贝塞尔曲线画对话气泡

    画一个圆 HTML <canvas id="canvas"></canvas> JavaScript var canvas = document.getEl ...

最新文章

  1. Docker运行PostgreSQL
  2. python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...
  3. eeglab中文教程系列(16)-Time/Frequency decomposition
  4. cascade inverse (2010-01-12)
  5. 模拟投掷硬币100次
  6. 阿里云ECS——[您的云服务器(xxx.xxx.xxx.xxx)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问]解决方案
  7. 01_关于TensorFlow、什么是数据流图(Data Flow Graph)、TensorFlow的特征、谁可以使用Tensorflow、为啥Google要开源这个神器?
  8. 制作计算器窗口java_Java实现的窗口计算器
  9. Error:collect2:ld returned 1 exit status的其他原因
  10. rhel系统启动过程_Linux启动过程详解
  11. 使用javac编译时碰到的问题
  12. 如何使用NFC读卡器读取NFC卡片的UID?
  13. php微信开发视频教程_PHP微信开发视频资源推荐
  14. 网页顶部广告展开与收起
  15. 用vue+element-ui快速写一个注册登录页面
  16. 解决联想电脑自带麦克风不能使用
  17. Visual Studio 2008 项目安装和部署
  18. 获取自然月之前或者自然月之后的日期
  19. android 仿微信demo————登录功能实现(移动端)
  20. 桌面图标有了蓝色问号解决方案

热门文章

  1. 定时自动关闭程序、打开网页和隐藏任务计划
  2. 收藏的一些好用的网站
  3. 全球与中国的前50家最佳网站
  4. linux 挂在u盘变成只读,linux系统下优盘挂载之文件系统后只读解决方法
  5. 改进的LCS算法的应用
  6. spring之AOP切面不生效!!!!!原因在这
  7. Android:Preference
  8. 基于用户的协同过滤与基于物品的协同过滤比较
  9. P1027 [NOIP2001 提高组] Car 的旅行路线 (图 最短路)
  10. Android必学之AsyncTask,多线程AsyncTask,详细AsyncTask使用教程