复杂的线性渐变
这两个页面都是水平渐变,但是要清楚线性渐变不一定是水平的,方向可以是任意的,通过渐变线的端点来设置方向。
径向渐变同样是三步走战略,只不过是第一步的所用方法变了。
添加渐变圆:
var grd = context.createRadialGradient(x0,y0,r0,x1,y1,r1);为渐变线添加关键色(类似于颜色断点):
grd.addColorStop(stop,color);应用渐变:
context.fillStyle = grd; context.strokeStyle = grd;线性渐变是基于两个端点定义的,但是径向渐变是基于两个圆定义的。
我们把示例7-2改写一下。
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>填充径向渐变</title> </head> <body> <div> <canvas> 你的浏览器居然不支持Canvas?!赶快换一个吧!! </canvas> </div> <script> window.onload = function(){ var canvas = document.getElementById("canvas"); canvas.width = 800; canvas.height = 600; var context = canvas.getContext("2d"); //添加渐变线 var grd = context.createRadialGradient(400,300,100,400,300,200); //添加颜色断点 grd.addColorStop(0,"olive"); grd.addColorStop(0.25,"maroon"); grd.addColorStop(0.5,"aqua"); grd.addColorStop(0.75,"fuchsia"); grd.addColorStop(0.25,"teal"); //应用渐变 context.fillStyle = grd; context.fillRect(100,100,600,400); } </script> </body> </html>演示 7-3
运行结果:
径向渐变
怎么感觉这个颜色搭配那么的……算了,这个就叫做艺术。
createRadialGradient(x0,y0,r0,x1,y1,r1);方法规定了径向渐变开始和结束的范围,即两圆之间的渐变。
总结一下,这节课我们学习了fillStyle、createLinearGradient()、createRadialGradient()、addColorStop()、fillRect()、strokeRect()等属性和方法,详细介绍了填充基本色、线性渐变、径向渐变。
好了,现在学会了上色,那么尽情的使用色彩,绘制出属于我们自己的艺术品吧!
如果您喜欢本书,请使用支付宝扫描下面的二维码捐助作者。
二维码
谢谢您的支持!也欢迎您订阅本书。
如果书中有疏漏或错误之处,敬请您指出,期待您的pull request。如果有任何疑问也可以发送issue。
本人邮箱:airing@ursb.me
本人博客:
本书地址:
本书github:
Canvas--Draw on the Web