canvas常用画笔样式盘点 - Kaiqisan

canvas常用画笔样式盘点

strokeStyle: 画笔在绘制的时候的颜色设定

ctx.strokeStyle = `rgb(100, 150, 200)` // 也可以使用rgba定义透明度
ctx.strokeStyle = "#15f2dc"
ctx.strokeStyle = "pink"

lineWidth: 画笔粗度

ctx.lineWidth = 3 // 表示画笔粗度为3个像素

lineJoin: 画笔的平滑度,当画出一个角的时候,定义不同的属性值会对尖角处的处理就会不同

ctx.lineJoin = "round"
// 一共有三种属性值 round(尖角处圆滑处理)  bevel(斜角处理,产生类似于折叠的效果) miter(尖角处尖锐化,也是默认效果)

展示效果

round
round

bevel
bevel

miter
miter

lineCap: 定义线条末端的样式

ctx.lineCap = "round"
// 一共有三种属性值 round(在线条末端添加圆形线帽) butt(默认样式) square(在线条末端添加方形线帽)

展示效果

lineCap_effect
这三条线从上到下分别被 butt square round这三个属性值所渲染,后两个在笔画的两端添加了线帽。

setLineDash : 绘制虚线
lineDashOffset: 规定虚线偏离量

ctx.setLineDash([20, 10]) 
// 分配空闲地方和绘制地方的长短(单位:像素),这里的意思是从绘制起点开始绘制20像素长度的线之后空闲
// 10像素,然后重复上面的操作,直到绘制到线段的终点

// setLineDash里的数组没有规定一定只能写两个,也可以写好几个,最终它会遵循一个规律就是读取的第单数
// 个数是绘制实线的,读取的第双数个数是不绘制的,然后循环数组,继续读取
ctx.setLineDash([20, 10, 10]) 
// 以它为例,在第一轮读取中读取了第一个数和第三个数之后绘制线段,读取第二个数就不绘制,读完第一组的三个数之后然后再循环数
// 组,接着从第一个数20开始读,此时,一个读取了四个,所以接下来的20像素长度将不绘制,同理,读第二个
// 数10的时候,从整体来说此时它是第五个被读的,为基数,所以接下来绘制10像素长度的线段
ctx.lineDashOffset = 10 // 单位像素

展示效果

lineOffset
第一条线的lineDashOffset为0,从绘制起点开始绘制根据每20像素线段10线段空白来绘制,第二体条的lineDashOffset为10,绘制完的图片向绘制起点偏移10像素。

**PS:**根据这个特性,我们可以结合画布的刷新来实现虚线的动态运动。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaiqisan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值