本文摘自PHP中文网,作者不言,侵删。
本文将为大家详细介绍下Canvas中透明度的设置与使用,结合渐进填充与透明度支持,实现图像的Mask效果,线性渐进方式的代码演示如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助详细解释HTML5 Canvas中渐进填充的参数设置与使用,Canvas中透明度的设置与使用,结合渐进填充与透明度支持,实现图像的Mask效果。
一:渐进填充(Gradient Fill)
Canvas支持两种渐进填充方式,一种为线性渐进填充(Line Gradient Fill),另外一种称
为经向渐变填充(RadialGradient Fill)。其API分别为:
createLinearGradient(x1, y1, x2, y2);
其中x1,y1为第一个点坐标,x2,y2为第二个点坐标。
createRadialGradient(x1, y1, r1, x2, y2, r2);
其中x1, y1为第一个中心点坐标,r1为半径,x2, y2为第二个中心点坐标,r2为半径。
为每个点设置颜色
addColorStop(position, color);
其中position表示位置,大小范围[0~1]其中0表示第一个点,1表示第二个点坐标
Color表示颜色值,任何CSS的颜色值。
渐进填充对象创建与配置之后可以用来设置context的strokeStyle与fillStyle实现文字,
几何形状的渐进颜色填充。
线性渐进方式的代码演示:
1. 垂直(Y)方向颜色渐进
1 2 3 4 5 6 |
|
2. 水平(X)方向颜色渐进
1 2 3 4 5 6 |
|
3.垂直与水平同时(XY方向)颜色渐进
1 2 3 4 5 6 |
|
二:透明度(Transparent)
Canvas中透明度支持分为全局与局部透明设置,全局透明度的设置可以通过设置
Context.globalAlpha来实现。局部透明度可以通过fillStyle设置颜色值中alpha值通道
来实现。两种方式代码如下:
1 2 3 |
|
1 2 3 |
|
两个效果是一样的。
三:照片透明渐进Mask效果
使用径向颜色渐变与透明度变化,实现在图像上的半透明面罩效果,脚本运行效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
以上就是HTML5 Canvas渐进填充与透明实现图像的Mask效果的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
h5 canvas中fill 与stroke文字效果实现实例
更多相关阅读请进入《canvas》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者