1.画正方形

代码如下

<style>canvas {margin: 0 auto;border: 2px solid #aaa;display: block; /*画布居中*/}
</style>
<body><canvas id="cont" width="500px" height="500px">Hello Canvas</canvas><script>//获取画布var canvas = document.querySelector("#cont");//获取画布上下文var ctx = canvas.getContext('2d');/*//开启一条路径ctx.beginPath();//确定起始点ctx.moveTo(100, 100);//确定结束点ctx.lineTo(400, 100);//着色之前设置颜色和线宽ctx.strokeStyle = 'green';ctx.lineWidth = 5;//着色ctx.stroke();//结束路径ctx.closePath();*/
function drawLine(x1, y1, x2, y2, color, width) {ctx.beginPath();ctx.moveTo(x1, y1);ctx.lineTo(x2, y2);ctx.strokeStyle = color;ctx.lineWidth = width;ctx.stroke();ctx.closePath();
}
drawLine(100, 100, 400, 100, 'green', 5);
drawLine(400, 100, 400, 400, 'purple', 5);
drawLine(400, 400, 100, 400, 'orange', 5);
drawLine(100, 400, 100, 100, 'blue', 5);</script>
</body>
  • 直线封装:用函数将画线的代码封装起来
    结果如下

2.画三角形

代码如下

<style>canvas {margin: 0 auto;border: 2px solid #aaa;display: block; /*画布居中*/}
</style>
<body><canvas id="cont" width="500px" height="500px">Hello Canvas</canvas><script>var canvas = document.querySelector("#cont");//获取画布上下文var ctx = canvas.getContext('2d');ctx.beginPath();ctx.moveTo(100, 100);//此处直线连用,画完三条线再关闭路径ctx.lineTo(400, 100);ctx.lineTo(400, 400);ctx.lineTo(100, 100);ctx.strokeStyle = 'purple';ctx.lineWidth = 5;ctx.stroke();ctx.closePath();</script>
</body>

结果如下

3.画虚线

代码如下

<style>canvas {margin: 0 auto;border: 2px solid #aaa;display: block; /*画布居中*/}
</style>
<body><canvas id="cont" width="500px" height="500px">Hello Canvas</canvas><script>var canvas = document.querySelector("#cont");var ctx = canvas.getContext('2d');function drawLine(x1, y1, x2, y2, color, width) {ctx.beginPath();ctx.moveTo(x1, y1);ctx.lineTo(x2, y2);ctx.strokeStyle = color;ctx.lineWidth = width;ctx.stroke();ctx.closePath();}  //画直的虚线for (var i = 0; i < 30; i++) {drawLine(100+10*i, 100, 105+10*i, 100, 'purple', 2);}//画斜的虚线for (var i = 0; i < 30; i++) {drawLine(100+10*i, 100+10*i, 105+10*i, 105+10*i, 'green', 2)}</script>
</body>
  • 画虚线的原理就是画一条一条的短实线
    结果如下

canvas画正方形、三角形以及虚线相关推荐

  1. html5画直线箭头,HTML5 canvas画带箭头的虚线

    今天给大家讲解的是在HTML5 canvas画带箭头的虚线.关于Canvas 对象表示一个 HTML 画布元素 -.它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作. 本案例注意事项 ...

  2. html 绘制正方形,HTML5之Canvas画正方形

    HTML5之Canvas画正方形 1.设计源码 HTML5之Canvas画正方形 function drawFour(id) { //获取canvas元素 var canvas = document. ...

  3. HTML5 Canvas 画虚线组件

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

  4. python画长方形的代码_python使用turtle画一个三角形、正方形(矩形或四边形)

    今天我们用python使用turtle库画一个三角形.一个正方形. 1.画一个三角形. 实现方法是先画一个直线,然后旋转120度,然后继续画直线.这样反复画三条直线后,就形成一个等边三角形.先看效果: ...

  5. vue3.0 + typescript openlayers实现地图标点、移动、画线、显示范围、测量长度、测量面积、画三角形、画正方形、画圆、线选、画笔、清除测量、清除、地图上展示弹窗等功能

    vue3.0 + typescript openlayers实现地图标点.移动.画线.显示范围.测量长度.测量面积.画三角形.画正方形.画圆.线选.画笔.清除测量.清除地图所有等功能 由于最近项目中用 ...

  6. python使用turtle画一个三角形、正方形(矩形或四边形)

    今天我们用python使用turtle库画一个三角形.一个正方形. 1.画一个三角形. 实现方法是先画一个直线,然后旋转120度,然后继续画直线.这样反复画三条直线后,就形成一个等边三角形.先看效果: ...

  7. python画正方形内切圆_python画出三角形外接圆和内切圆的方法

    刚看了<最强大脑>中英对决,其中难度最大的项目需要选手先脑补泰森多边形,再找出完全相同的两个泰森多边形.在惊呆且感叹自身头脑愚笨的同时,不免手痒想要借助电脑弄个图出来看看,闲来无事吹吹牛也 ...

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

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

  9. python画正方形-用python画正方形

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我正在学习python学习教程,我无法打开屏幕进行绘图. 我没有发现错误,它只是 ...

最新文章

  1. Linux服务器-使用mysql
  2. Windows Small Business Server 2003 意外关闭 ; 1001, 1013 和 1014 事件记录
  3. 五十三、Java的记录日志Log4j框架的使用
  4. spring aop实例讲解_Spring框架核心知识点
  5. 数据结构:(2)什么是数据结构
  6. python type error是什么意思_Python-TypeError:“ int”对象不可调用
  7. php重定向error,将nginx错误重定向到php
  8. 一分钟区分一流公司、二流公司、三流公司(转)
  9. 开源 免费 java CMS - FreeCMS1.3-信息管理
  10. 推荐3款简约好用录屏工具
  11. GoDaddy Linux主机支持机房的更换
  12. Nacos 服务治理(服务注册中心)
  13. WIN7共享WIFI上网
  14. Linux下挂载大容量存储
  15. 使用标准输出流(system.out)和打印流 (PrintWriter)来读取txt文件
  16. 一些浏览器HACKS
  17. linux离线安装snap应用,Ubuntu使用snap安装常用软件
  18. Java第四天笔记02——方法的定义及调用
  19. flink之SQL入门
  20. Https证书校验不当引起的安全问题

热门文章

  1. 华钜同创:都2022年了,你还在用那些老掉牙的选品方法???
  2. 苹果电脑上几个不错的数学分析工具
  3. 新站之网站优化方案[优化]
  4. JS 保留两位小数,不足用0补齐
  5. 网站汇总|有趣or猎奇|素材|免费
  6. RFID珠宝零售管理解决方案
  7. 价值规律在现代社会基本失效
  8. 约瑟夫环问题【数组】标记法
  9. mysql勒索_记一次mysql数据库被勒索(下)
  10. Win32如何定义IP数据报的首部