百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> HTML5Canvas渐进添补与透亮实现图像的Mask结果-
分享文章到:

HTML5Canvas渐进添补与透亮实现图像的Mask结果-

发布时间:09/01 来源:未知 浏览: 关键词:
本文将为大家细致介绍下Canvas中透亮度的设定与运用,联合渐进添补与透亮度支撑,实现图像的Mask结果,线性渐进方式的代码演示如下,感乐趣的伴侣可以参照 下哈,但愿对大家有所帮忙 本文将为大家细致介绍下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)标的目的色彩渐进

// vertical/Y direction 
var lineGradient = ctx.createLinearGradient (50, 0, 50, 200); 
lineGradient.addColorStop(0, 'rgba(255, 0, 0, 1)'); 
lineGradient.addColorStop(1, 'rgba(255, 255, 0, 1)'); 
ctx.fillStyle = lineGradient; 
ctx.fillRect(0, 0, 300, 300);

2. 水平(X)标的目的色彩渐进

// horizontal/X direction 
var lineGradient = ctx.createLinearGradient (0, 50, 200, 50); 
lineGradient.addColorStop(0, 'rgba(255, 0, 0, 1)'); 
lineGradient.addColorStop(1, 'rgba(255, 255, 0, 1)'); 
ctx.fillStyle = lineGradient; 
ctx.fillRect(0, 0, 300, 300);

// vertical and horizontal direction 
var lineGradient = ctx.createLinearGradient (0, 0, 200, 200); 
lineGradient.addColorStop(0, 'rgba(255, 0, 0, 1)'); 
lineGradient.addColorStop(1, 'rgba(255, 255, 0, 1)'); 
ctx.fillStyle = lineGradient; 
ctx.fillRect(0, 0, 300, 300);

// change global alpha value 
ctx.globalAlpha=0.5; 
ctx.fillRect(50,50,75,50);
// change fill style color's alphachannel 
ctx.fillStyle = 'rgba(225,225,225,0.5)'; 
ctx.fillRect(50,50,75,50);

两个结果是同样的。

三:相片透亮渐进Mask结果

运用径向色彩渐变与透亮度变化,实此刻图像上的半透亮面罩结果,足本运转结果:

var myImage = document.createElement('img'); 
myImage.src = "../test.png"; 
myImage.onload = function() { 
ctx.drawImage(myImage, 80, 30, myImage.naturalWidth, myImage.naturalHeight); 
var radialGradient = ctx.createRadialGradient (canvas.width/2, canvas.height/2, 10, canvas.width/2, canvas.height/2, 200); 
radialGradient.addColorStop(0, 'rgba(247, 247, 247, 0)'); 
radialGradient.addColorStop(0.7, 'rgba(120, 120, 120, 0.5)'); 
radialGradient.addColorStop(0.9, 'rgba(0, 0, 0, 0.8)'); 
radialGradient.addColorStop(1, 'rgba(238, 238, 238, 1)'); 
ctx.beginPath(); 
ctx.arc(canvas.width/2, canvas.height/2, 300, 0, Math.PI * 2, true); 
ctx.closePath(); 
ctx.fillStyle = radialGradient; 
ctx.fill(); 
}

以上就是本文的全部内容,但愿对大家的学习有所帮忙,更多相干内容请关注百分百源码网!

以上就是HTML5 Canvas渐进添补与透亮实现图像的Mask结果的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板