canvas教程

Canvas教程(7)(2)

字号+ 作者:H5之家 来源:H5之家 2017-05-20 14:07 我要评论( )

复杂的线性渐变 这两个页面都是水平渐变,但是要清楚线性渐变不一定是水平的,方向可以是任意的,通过渐变线的端点来设置方向。 径向渐变 同样是三步走战略,只不过是第一步的所用方法变了。 添加渐变圆: var grd


复杂的线性渐变

这两个页面都是水平渐变,但是要清楚线性渐变不一定是水平的,方向可以是任意的,通过渐变线的端点来设置方向。

径向渐变

同样是三步走战略,只不过是第一步的所用方法变了。

  • 添加渐变圆:

    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

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • HTML5内联SVG教程以及与Canvas的区别

      HTML5内联SVG教程以及与Canvas的区别

      2017-05-20 17:01

    • Android中Canvas的常用方法总结

      Android中Canvas的常用方法总结

      2017-05-19 17:04

    • jscanvas实现QQ拨打电话特效

      jscanvas实现QQ拨打电话特效

      2017-05-19 16:02

    • canvas总结:元素大小与绘图表面大小

      canvas总结:元素大小与绘图表面大小

      2017-05-19 16:00

    网友点评
    "