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样式linear-gradient的使用实例
Jan 16 HTML / CSS
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
Feb 04 HTML / CSS
你应该知道的30个css选择器
Mar 19 HTML / CSS
css3实例教程 一款纯css3实现的发光屏幕旋转特效
Dec 07 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
Feb 26 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
May 03 HTML / CSS
HTML5新增属性data-*和js/jquery之间的交互及注意事项
Aug 08 HTML / CSS
详解基于canvas的视频遮罩插件
Jan 04 HTML / CSS
怎样实现H5+CSS3手指滑动切换图片的示例代码
May 05 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
Jan 22 HTML / CSS
CSS3 实现NES游戏机的示例代码
Apr 21 HTML / CSS
CSS+HTML 实现顶部导航栏功能
Aug 30 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 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
php常用文件操作函数汇总
2014/11/22 PHP
php 多文件上传的实现实例
2016/10/23 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
jQuery 方法大全方便学习参考
2010/02/25 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
iframe实用操作锦集
2014/04/22 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
2020/06/24 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python中实现指定时间调用函数示例代码
2017/09/08 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
python支持多继承吗
2020/06/19 Python
python mock测试的示例
2020/10/19 Python
Python类class参数self原理解析
2020/11/19 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
高中军训感言400字
2014/02/24 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
学校捐款活动总结
2015/05/09 职场文书
横空出世观后感
2015/06/09 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书