HTML5 Canvas——用路径描画线条实例介绍

2016-02-19 10:36 78 1 收藏

下面图老师小编要向大家介绍下HTML5 Canvas——用路径描画线条实例介绍,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

原文:
http://www.lifelaf.com/blog/?p=371
本文翻译自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, Using Paths to Create Lines

对于HTML5 Canvas,我们可以使用路径来描画任何图形。路径,简单来说就是一系列的点以及连接这些点的线。任何Canvas上下文只会有一个当前路径,而当context.save()调用时,该当前路径并不会被保存。

路径的开始与结束

调用beginPath()可以开始一个路径,而调用closePath()则会令该路径结束。如果连接路径中的点,那么这种连接就构成了一个子路径。如果子路径中最后一个点与其自身的第一个点相连,我们就认为该子路径是闭合的。

线条的描绘

最基本的路径操作由反复调用moveTo()和lineTo()命令组成。比如以下这个例子:

代码如下:

function drawScreen() {
context.strokeStyle = "black";
context.lineWidth = 10;
context.lineCap = 'square';
context.beginPath();
context.moveTo(20, 0);
context.lineTo(100, 0);
context.stroke();
context.closePath();
}

在上面的例子中,我们描画了一条水平的、宽度为10个像素的线段;与此同时,我们还设定了lineCap与strokeStyle属性。以下是一些常用的属性列表:

lineCap
lineCap定义了在Canvas中线段两头的样式,可设置为以下三个值中的一个:

butt。默认值;在线段的两头添加平直边缘。
round。在线段的两头各添加一个半圆形线帽。线帽直径等于线段的宽度。
square。在线段的两头添加正方形线帽。线帽边长等于线段的宽度。
lineJoin
lineJoin定义了两条线段相交处的弯角样式。以下为三个可选的值:

miter。默认值;创建一个尖角。可以通过设置miterLimit属性来对尖角长度进行限制 miterLimit为尖角长度和线条宽度之比的最大值,默认为10。
bevel。创建一个斜角。
round。创建一个圆角。
lineWidth
lineWidth定义了线条的粗细,默认为1.0。

strokeStyle
strokeStyle定义了用于渲染线条的颜色等样式。

译注:当lineJoin设定为miter,但是尖角长度超过了miterLimit的限制时,Canvas将显示bevel弯角效果。

来源:http://www.tulaoshi.com/n/20160219/1595178.html

延伸阅读
标签: Web开发
接上一篇canvas画线条教程 上次我们讲到,canvas有时候会出现1像素的线条模糊不清且好像更宽的情况,如下图:   这样的线条显然不是我们想要的。 这篇文章的目的就是弄清楚里面的原理,以及解决它。 大家都知道屏幕上最小的显示尺寸就是1像素,虽然小于1像素的东西可能显示不出来,但计算机可不管,他会试着画一下。 其实像素终究来...
标签: Web开发
Canvas里绘制椭圆是一个很常见的需求,比较新的HTML Canvas 2D Context W3C草案里面新增了ellipse方法绘制椭圆,但是目前大多数浏览器还没有实现该方法,所以需要用arc或者arcTo方法结合scale变形来绘制椭圆。 示例代码: 代码如下: canvas width="400" height="300"/canvas script var ctx = documentquerySelector('canvas')get...
标签: Web开发
虽然大家都称Canvas为html5的新标签,看起来好像Canvas属于html语言的新知识,但其实Canvas画图是通过javascript来做的。所以,如果你想学习Canvas画图,你必须要有Javascript基础。 另外,画图嘛,总有一些图像方面的术语和知识点,所以如果你有过做图或美工经验,学习Canvas会更容易。 Canvas,意为画布也。而Html5中的Canvas也真的跟现实生...
标签: Web开发
创建一个Canvas画布的方法如下: 代码如下: canvas id=canvas width=600 height=400/canvas 可以在标签中添加canvas标签不可用时的替代文本,如下所示: 代码如下: canvas id=canvas width=600 height=400 pYour browserdoes not support the canvas element./p /canvas 目前新版本的各类浏览器已经逐步开始支持HTML5,所以在开始使...
标签: Web开发
上一篇文章我讲了画矩形和圆形的方法,他们都有原生的canvas绘图函数可完成。而本文讲的圆角矩形则只有通过其他方法模拟出来。 一个正常的圆角矩形,我们先假设他四个角的圆角弧度一致因为这样比较好画。我们动用把面拆成线条的能力,很容易就能发现圆角矩形其实是由4条钩子般的曲线组成。 提到钩子,如果你看过我介绍arcTo的文章,那么可...

经验教程

642

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部