博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)
阅读量:5812 次
发布时间:2019-06-18

本文共 1042 字,大约阅读时间需要 3 分钟。

上文,写完弧度与贝塞尔曲线,本文主要是关于线条的样式设置

lineWidth: 设置线条的宽度,值是一个数值,如lineWidth = 5.

画3条不同宽度的线条:

1  9 36 37 38     
39

 

 lineWidth设置弧形的宽度:

1  9 19 20 21     
22

这段圆弧设置了lineWidth, 那么他的半径就等于lineWidth + 原来的半径

lineCap设置线条开始与结尾的线帽样式,有3个值

1,butt: 这是默认值,不加任何样式

2,round: 圆形

3,square: 正方形

1  9 49 50 51     
52

 

 如果设置了线帽的样式( square, round ),线条就会加长,长出了多少?我在图中作了两条参考线,线条两边多出来的长度是线宽的一半。着这里就是 50,就是lineWidth=100的一半.

利用 lineWidth和lineCap属性写一个字母Z

1  9 23 24 25     
26

你会发现,只有两个地方有lineCap样式,线的开始点和结束点。线条的连接处并没有加上lineCap样式

canvas为我们提供了lineJoin方法,可以设置线的连接处的样式,有3个值:

miter: 默认值,尖角

round: 圆角

bevel: 斜角

1 oGc.lineWidth = 30;2 oGc.lineCap = 'round';3 oGc.lineJoin = 'round';4 oGc.moveTo( 100, 100 ); 5 oGc.lineTo( 300, 100 );6 oGc.lineTo( 100, 300 );7 oGc.lineTo( 300, 300 );8 oGc.stroke();

加上lineJoin = 'round' 就会变成圆角效果:

miter效果:

bevel效果

 

画虚线:

我们之前用moveTo, lineTo画的都是实线,canvas为我们提供了setLineDash()方法,它可以用来画虚线:

用法:

cxt.setLineDash( 数组 )

参数中这个数组,是由实线和空白组合合成,如:

[ 20, 5 ]: 20px 实线,5px空白

[ 20, 5, 10, 5]: 20px实线,5px空白, 10px实线, 5px空白

重复拼凑组合而成的线型.

1  9 35 36 37     
38

 

转载地址:http://xmvbx.baihongyu.com/

你可能感兴趣的文章
nginx安装
查看>>
python获取命令行参数
查看>>
MongoDB日志文件过大
查看>>
ios使用html5切图需要注意的事项
查看>>
vba-公式中添加上下箭头,列和行中添加备注
查看>>
HTML 5与CSS 3权威指南
查看>>
数据库产品选型和数据库主机选型的艺术
查看>>
移动互联网整合营销平台--中小企业一站式解决方案服务
查看>>
Spring源码深度解析
查看>>
《Bootstrap实战》
查看>>
Social Share TableViewCell
查看>>
RSColorPicker
查看>>
drozer的使用
查看>>
hibernate中自动增加查询条件
查看>>
8款世界级PHP调试工具
查看>>
ContentObserver类
查看>>
Shoppest OpenCart 自适应主题模板 ABC-0257
查看>>
Windows+Apache搭建PHP开发环境
查看>>
ASMSupport教程4.12 生成方法调用操作
查看>>
验证Mobile和Email
查看>>