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+DIV实现漂亮的动画彩色标签
Jun 16 HTML / CSS
css3 background属性调整增强介绍
Dec 18 HTML / CSS
css3闪亮进度条效果实现思路及代码
Apr 17 HTML / CSS
CSS3实现银灰色动画效果的导航菜单代码
Sep 01 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
Jun 13 HTML / CSS
html5+css3实现一款注册表单实例
Apr 17 HTML / CSS
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
Jun 23 HTML / CSS
详解HTML5中表单验证的8种方法介绍
Dec 19 HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 HTML / CSS
h5网页水印SDK的实现代码示例
Feb 19 HTML / CSS
基于CSS3画一个iPhone
Apr 21 HTML / CSS
HTML5 语义化标签(移动端必备)
Aug 23 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使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
Python Web版语音合成实例详解
2019/07/16 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
区域总监的岗位职责
2013/11/21 职场文书
优秀的茶餐厅创业计划书
2014/01/03 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
大学毕业生推荐信
2014/07/09 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
食品卫生管理制度
2015/08/06 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL