HTML5 canvas基本绘图之绘制线段


Posted in HTML / CSS onJune 27, 2016

<canvas></canvas>是HTML5中新增的标签,用于绘制图形,实际上,这个标签和其他的标签一样,其特殊之处在于该标签可以获取一个CanvasRenderingContext2D对象,我们可以通过JavaScript脚本来控制该对象进行绘图。

<canvas></canvas>只是一个绘制图形的容器,除了id、class、style等属性外,还有height和width属性。在<canvas>>元素上绘图主要有三步: 

 1.获取<canvas>元素对应的DOM对象,这是一个Canvas对象;
 2.调用Canvas对象的getContext()方法,得到一个CanvasRenderingContext2D对象;
 3.调用CanvasRenderingContext2D对象进行绘图。
 
绘制线段moveTo()和lineTo()

以下是一个简单的<canvas>绘图示例:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>canvas绘图演示</title>  
  6.     <style type="text/css">  
  7.         #canvas{   
  8.             border: 1px solid #ADACB0;   
  9.             display: block;   
  10.             margin: 20px auto;   
  11.         }   
  12.     </style>  
  13. </head>  
  14. <body>  
  15.     <canvas id="canvas" width="300" height="300">  
  16.         你的浏览器还不支持canvas   
  17.     </canvas>  
  18. </body>  
  19. <script type="text/javascript">  
  20.     var canvas = document.getElementById("canvas");   
  21.     var context = canvas.getContext("2d");   
  22.     //设置对象起始点和终点   
  23.     context.moveTo(10,10);   
  24.     context.lineTo(200,200);   
  25.     //设置样式   
  26.     context.lineWidth = 2;   
  27.     context.strokeStyle = "#F5270B";   
  28.     //绘制   
  29.     context.stroke();   
  30. </script>  
  31. </html>  
  32.   

 

HTML5 canvas基本绘图之绘制线段

如果没有通过moveTo()特别指定,lineTo()的起始点是以上一个点为准。因此,如果需要重新选择起始点,则需要通过moveTo()方法。如果需要对不同的线段设置样式,则需要通过context.beginPath()重新开启一条路径,下面是一个示例:

JavaScript Code复制内容到剪贴板
  1. <script type="text/javascript">   
  2.     var canvas = document.getElementById("canvas");   
  3.     var context = canvas.getContext("2d");   
  4.     //设置对象起始点和终点   
  5.     context.beginPath();   
  6.     context.moveTo(100,100);   
  7.     context.lineTo(700,100);   
  8.     context.lineTo(700,400);   
  9.     context.lineWidth = 2;   
  10.     context.strokeStyle = "#F5270B";   
  11.     //绘制   
  12.     context.stroke();   
  13.   
  14.     context.beginPath();   
  15.     context.moveTo(100,200);//这里的moveTo换成lineTo效果是一样的   
  16.     context.lineTo(600,200);   
  17.     context.lineTo(600,400);   
  18.     //strokeStyle的颜色有新的值,则覆盖上面设置的值   
  19.     //lineWidth没有新的值,则按上面设置的值显示   
  20.     context.strokeStyle = "#0D25F6";   
  21.     //绘制   
  22.     context.stroke();   
  23. </script>   

HTML5 canvas基本绘图之绘制线段

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
Sep 02 HTML / CSS
实例教程 纯CSS3打造非常炫的加载动画效果
Nov 05 HTML / CSS
简单掌握CSS3中resize属性的用法
Apr 01 HTML / CSS
利用CSS3实现进度条的两种姿势详解
Mar 21 HTML / CSS
css3旋转木马_动力节点Java学院整理
Jul 12 HTML / CSS
css3 实现元素弧线运动的示例代码
Apr 24 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
Feb 24 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
Mar 15 HTML / CSS
HTML5新增的标签和属性归纳总结
May 02 HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 HTML / CSS
html2canvas截图空白问题的解决
Mar 24 HTML / CSS
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
Apr 29 HTML / CSS
浅谈HTML5新增及移除的元素
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之绘制矩形
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之绘制阴影效果
Jun 27 #HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
Jul 05 #HTML / CSS
深入剖析webstorage[html5的本地数据处理]
Jul 11 #HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
Jul 13 #HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
Jul 19 #HTML / CSS
You might like
关于PHP实现异步操作的研究
2013/02/03 PHP
php实现文件下载代码分享
2014/08/19 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
php商品对比功能代码分享
2015/09/24 PHP
教你php如何实现验证码
2016/01/20 PHP
设定php简写功能的方法
2019/11/28 PHP
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
简单了解python变量的作用域
2019/07/30 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
python3的pip路径在哪
2020/06/23 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
药品营销策划方案
2014/06/15 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
全陪导游词
2015/02/04 职场文书
python实现简单的井字棋
2021/05/26 Python
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
Hive导入csv文件示例
2022/06/25 数据库