这篇文章主要介绍了关于html5 Canvas实现画直线与设置线条的样式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

在学画画的时候,线条是最基本的了,而线条的连接可以组成任何图形。在Canvas中也是如此,接下来为您详细介绍最简单的线条的画法

如果你还不知道Canvas是什么,可以看看上一篇.

在学画画的时候,线条是最基本的了,而线条的连接可以组成任何图形。在Canvas中也是如此。

在开始之前我们先拿出画布和画笔:var cvs = document.getElementById('cvs'); //画布

var ctx = cvs.getContext('2d'); // 画笔

我们画画的时候,落笔点是不固定的,随时都会变。canvas虽然不是通过手来决定落笔点,但也有一个方法,就是moveTo。moveTo的作用相当于把笔尖提离画布,然后移动到指定的点(即坐标)。ctx.moveTo(x,y)

此过程中不会画出任何图形,相当于你提着笔在画布上晃来晃去。

但晃来晃去是没用的,我们必须开始画。先画最简单的:直线

画直线的方法即lineTo,他的参数和moveTo一样的,都是一个点。

ctx.lineTo(x,y)当然,你画线的时候,落笔点也跟着移动了,所以lineTo之后落笔点就变成了他的目标点了。ctx.moveTo(100,100);

ctx.lineTo(200,100);

此时你刷新网页,会发现画布上没有预想中的线,什么也没有。因为我们还少了一个步骤.lineTo其实是画的一条“路径”,本身是不可见的。如果要让他显示出来,我们必须对他进行“画”的操作。

用过PS的同学,肯定能知道图形的两种模式,一种是填充,另一种是描边。现在我们已经画了一条线,相当于PS中勾了一条路径,此时给路径描一下边,就能显示出图形了。

canvas描边的方法是stroke().现在让我们把代码补全:ctx.moveTo(100,100);

ctx.lineTo(200,100);

ctx.stroke();此时刷新,就能看到一条线了。当然,你也可以连续绘制出几百条路径,再执行描边动作,即可一下画出几百条线。现在我们来用4条线画一个矩形:ctx.moveTo(100,100);

ctx.lineTo(200,100);

ctx.lineTo(200,200);

ctx.lineTo(100,200);

ctx.lineTo(100,100);

ctx.stroke();

这里我们就是先绘出全部路径,再一次性描边。

——–作者的抱怨:Canvas绘图有个不好的地方就是:基本靠猜,很不直观。

严重提示:canvas的绘图过程(即填充与描边)是非常消耗资源的,如果想节省系统资源提高效率,最好是绘制好所有路径,再一次性填充或描边图形。

由上面的图形我们可以看出,默认的线条粗细是1px,而线条颜色是黑色。当然我们可以设置他们,但奇怪的是设置线条宽度是lineWidth,而设置线条样式的却叫strokeStyle,为什么不是lineStyle呢?我也不知道。:ctx.lineWidth = 10;

ctx.strokeStyle = 'rgba(255,0,0,0.5)';

上面的代码把线条宽度设置成了10px,线条颜色变成了半透明的红色。

那是因为,我画线的过程中没有把画笔“提起来”,画笔是连续的,即没有moveTo过。不信我们现在来moveTo一下:ctx.moveTo(100,100);

ctx.lineTo(200,100);

ctx.moveTo(200,100); //注意这里

ctx.lineTo(200,200);

ctx.lineTo(100,200);

ctx.lineTo(100,100);

ctx.lineWidth = 10;

ctx.strokeStyle = 'rgba(255,0,0,0.5)';

ctx.stroke();

我们再画第二条线之前moveTo了一下,而且moveTo连坐标都没变,还是那个点,但刷新后图形变成了这个样子[图3]:

Canvas怎么闭合路径?用closePath().ctx.moveTo(100,100);

ctx.lineTo(200,100);

ctx.lineTo(200,200);

ctx.lineTo(100,200);

ctx.lineTo(100,100);

ctx.closePath();//闭合路径

ctx.lineWidth = 10;

ctx.strokeStyle = 'rgba(255,0,0,0.5)';

ctx.stroke();

此时刷新,就是一个完美的正方形了。图4:

php网页制作添加线条,html5Canvas实现画直线与设置线条的样式-相关推荐

  1. php 画直线,html5 Canvas实现画直线与设置线条的样式

    这篇文章主要介绍了关于html5 Canvas实现画直线与设置线条的样式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 在学画画的时候,线条是最基本的了,而线条的连接可以组成任何图形. ...

  2. html5点线的设置,html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点...

    如果你还不知道canvas是什么,可以看看. 在学画画的时候,线条是最基本的了,而线条的连接可以组成任何图形.在canvas中也是如此. 在开始之前我们先拿出画布和画笔: 复制代码代码如下: var ...

  3. 在html5绘制直线的两个方法,html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点...

    如果你还不知道Canvas是什么,可以看看上一篇. 在学画画的时候,线条是最基本的了,而线条的连接可以组成任何图形.在Canvas中也是如此. 在开始之前我们先拿出画布和画笔: 复制代码代码如下: v ...

  4. 直线如何用计算机表达,电脑画图软件内如何绘制直线并设置线条的粗线

    电脑画图软件内如何绘制直线并设置线条的粗线 当我们在使用电脑的时候,可以利用电脑中自带的画图软件来进行绘画,那么在画图软件中应如何绘制直线呢?又如何设置线条的粗细呢?接下来就由小编来告诉大家. 具体如 ...

  5. Silverlight学习笔记三(鼠标点击动态画直线|动态设置Ellipse的Canvas.Top与Canvas.Left|动态设置Stroke属性的方法。)...

    我有可能需要把AutoCAD的部分功能搬到浏览器上,先练习一下画直线的方法.如图: MainPage.xaml代码: 大气象 <UserControl x:Class="DrawLin ...

  6. html带颜色表格怎么做,使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作...

    行颜色设置的简便方法 使用HTML添加表格4(行颜色与表格嵌套)--零基础自学网页制作 昨天我们在<使用HTML添加表格3(间距与颜色)--零基础自学网页制作>(目录在结尾)中学习了设置单 ...

  7. el-table 行背景颜色_使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作

    行颜色设置的简便方法 昨天我们在<使用HTML添加表格3(间距与颜色)--零基础自学网页制作>(目录在结尾)中学习了设置单元格以及其中内容的空间间距和背景颜色. 其中添加列向单元格背景颜色 ...

  8. HTML怎么在矩形上画直线,【绘制】HTML5 Canvas 绘画画板,实现鼠标画线条,画矩形或选区(图文、示例)...

    个人处女做<Canvas系列教程>在个人Github上正在连载更新,但愿能获得您的关注和支持,让我有更多的动力进行创做.html 教程介绍.教程目录等能在README里查阅.git 目录函 ...

  9. css3 text-shadow 为网页字体添加阴影

    css3 text-shadow 为网页字体添加阴影 text-shadow:为网页字体添加阴影, 可以通过对text-shadow属性设置相关的属性值,可以实现一些漂亮的字体阴影效果. 属性与值的说 ...

最新文章

  1. 【剑指offer-Java版】43n个骰子的点数
  2. js 定时网页点击_JS的小乐趣:轻松完成打地鼠游戏
  3. AC日记——最大子段和 洛谷 P1115
  4. mongodb sharding 试用(四)
  5. 下载丨Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档
  6. Android Lolipop 屏蔽隐式Intent检查引发的错误
  7. 西安理工大学计算机考研备考指南(863数据结构)
  8. 360服务器安全加固系统,360政企安全
  9. 图应用:骑士周游问题
  10. crmeb v4.4.2 修复前端小程序物流查询有部分查询不出来的问题
  11. 有一种爱 不能称之为爱情
  12. 高校毕业生登记表计算机水平,高校毕业生登记表
  13. html做旋转的五角星,Flash AS3代码制作旋转彩色五角星动画
  14. 第十六届D2大会(I)
  15. mysql客户端与服务端的区别,终于彻底把握了
  16. 微信小程序中的onLoad
  17. python爬虫淘宝实例-python 淘宝爬虫示例源码(抓取天猫数据)
  18. Python 获取当天日期、前一天日期、前半个月
  19. 索尼VAIO笔记本电脑Windows 8改成Windows 7
  20. 提高服务器安全性能的方式

热门文章

  1. 计算机毕业设计JAVA蓝星星关爱地球网mybatis+源码+调试部署+系统+数据库+lw
  2. HIT 软件构造 lab3
  3. MysqlDay01
  4. 儿童编程:搭房子编程序-电脑小猫听我话
  5. “附近的人”功能实现
  6. 微型计算机继电保护,电力系统微型计算机继电保护.doc
  7. docker tcp6改为tcp_Docker deamon监听tcp端口设置
  8. Windows pip install jupyter notebook
  9. 百度之星趣味赛——AK咆哮体
  10. linux系统 设置分屏,Linux桌面的4种可以分屏的终端