Canvas中如何填上渐变色的效果,代码是什么
Admin 2022-07-15 群英技术资讯 997 次浏览
我们要知道canvas提供了两个对象来创建渐变,渐变可以填充在矩形、文本、线条等。
canvas渐变可以分为线性渐变和径向渐变:
canvas创建线性渐变的函数是createLinearGradient(x,y,x1,y1)
canvas创建径向渐变的函数是createRadialGradient(x,y,r,x1,y1,r1)
下面我们就来分别看看canvas的线性渐变和径向渐变如何实现颜色的渐变。
首先来看一下canvas线性渐变:
线性渐变是以线性的模式来改变颜色,也就是水平,垂直或对角方向。
我们直接来看canvas线性渐变的例子:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <canvas id="myCanvas"></canvas> <script type="text/javascript"> var canvas=document.getElementById("myCanvas"); if(canvas && canvas.getContext){ var ctx=canvas.getContext("2d"); var grad=ctx.createLinearGradient(0,0,300,0); //创建一个渐变色线性对象 grad.addColorStop(0,"yellow"); //定义渐变色颜色 grad.addColorStop(1,"green"); ctx.fillStyle=grad; //设置fillStyle为当前的渐变对象 ctx.fillRect(0,0,300,100); //绘制渐变图形 } </script> </body> </html>
canvas线性渐变效果如下:
说明:上面这个canvas线性渐变的例子实现的是水平方向的渐变,如果想要实现垂直方向的渐变色只需要将参数y和y1设置为不同就可以了,想要实现对角方向的渐变色则需要将水平和垂直方向上的参数都设置为不同。(ps:具体的实现可以自己试试,这里就不多说了)
看完了线性渐变我们就来看一下canvas径向渐变的实现。
径向渐变是以圆形模式来改变颜色的,颜色以圆形的中心向外扩散。
我们也来直接看一个canvas径向渐变的例子:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <canvas id="myCanvas" width="400px" height="300px"></canvas> <script type="text/javascript"> var canvas=document.getElementById("myCanvas"); if(canvas && canvas.getContext){ var ctx=canvas.getContext("2d"); var grad=ctx.createRadialGradient(200,200,50,200,200,200) //创建一个渐变色线性对象 grad.addColorStop(0,"yellow"); //定义渐变色颜色 grad.addColorStop(1,"green"); ctx.fillStyle=grad; //设置fillStyle为当前的渐变对象 ctx.fillRect(0,0,400,400); //绘制渐变图形 } </script> </body> </html>
canvas径向渐变的效果如下:
需要注意的是:在绘制径向渐变时,可能会因为Canvas的宽度或者高度设置不合适,导致径向渐变显示不完全,需要考虑调整Canvas的尺寸。
说明:上述canvas径向渐变的代码中其实是两个圆,这两个圆的圆心分别是(x,y)和(x1,y1),半径则就是r和r1;最重要的是这两个圆必须设置不同的半径,形成一个内圆和一个外圆。这样渐变色就从一个圆形辐射到另一个圆形。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家分享CSS布局的内容,CSS布局是很基础的内容,熟练掌握还是很有必要的。本文给大家介绍两列布局和三列布局的使用,这两种布局都是比价常用的,而且使用也很多。接下来就跟随小编学习一下吧。
本文主要给大家讲述了有关于CSS之弹性布局内容对齐内容,内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。
CSS3 :default 伪类选择器只能作用在表单元素上,表示默认状态的表单元素。接下来通过本文给大家介绍CSS3 :default伪类选择器使用简介,感兴趣的朋友跟随脚本之家小编一起看看吧
这篇文章主要介绍了CSS 点击radio实现两个图片样式切换并且多个radio中只能有一个checked,感兴趣的朋友跟随小编一起看看吧
:link,链接:超链接点击之前。:visited,访问过的:链接被访问过之后。:hover,悬停:鼠标放到标签上的时候。:active,激活:鼠标点击标签,但是不松手时。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008