canvas教程

通过HTML5提供的Canvas绘制径向渐变图形

字号+ 作者:H5之家 来源:H5之家 2016-07-23 12:00 我要评论( )

通过HTML5提供的Canvas绘制径向渐变图形,关于径向渐变,其实和线性渐变一样都是Photoshop渐变类型的一种,不同的是径向渐变是以圆的半径为渐变轴,而线性渐变是

关于径向渐变,其实和线性渐变一样都是Photoshop渐变类型的一种,不同的是径向渐变是以圆的半径为渐变轴,而线性渐变是以直线为渐变轴。本文提供了html5自带的Canvas实现的渐变效果,并带有演示案例

查看演示页面 View Demo

关于径向渐变,其实和线性渐变一样都是Photoshop渐变类型的一种,不同的是径向渐变是以圆的半径为渐变轴,而线性渐变是以直线为渐变轴。

通过上一章的学习,我们知道绘制线性渐变图形用到了一个非常重要的函数——createLinearGradiend();当然,我们要绘制径向渐变也会有类型的方法。

context.createRadialGradient(xStart, yStart, radiusStart, xEnd, yEnd, radiusEnd);


是不是觉得和线性渐变的函数很类似?是的,在径向渐变的设置中,我们只是把createLinearGradiend()方法换成createRadialGradient()方法;把参数由4个增加到了6个;把addColorStop()偏移量设置,也从原来的2个增加到了3个。

参数值方面,径向渐变只是增加了渐变初始圆的半径位置和渐变结束圆的半径位置而已。

<1>xStart:渐变起始点的横坐标;

<2>yStart:渐变起始点的纵坐标;

<3>xEnd:渐变结束点横坐标;

<4>yEnd:渐变结束点纵坐标;

<5>radiusStart:渐变开始圆的半径;

<6>radiusEnd:渐变结束圆的半径。

通过以上的讲解,再加上之前一章学习的addColorStop方法,我们就可以绘制出非常漂亮的渐变了,它同样也需要设定个0-1之间的浮点数来作为渐变转折点的偏移量。

好的,现在直接上案例:

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>用Canvas绘制径向渐变图形</title> <script type="text/javascript"> window.onload = function() { var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); var g1 = context.createRadialGradient(400, 0, 0, 400, 0, 400); g1.addColorStop(0.1, "rgb(255, 255, 0)"); g1.addColorStop(0.3, "rgb(255, 0, 255)"); g1.addColorStop(1, "rgb(0, 255, 255)"); context.fillStyle = g1; context.fillRect(0, 0, 400, 300); var n = 0; var g2 = context.createRadialGradient(250, 250, 0, 250, 250, 300); g2.addColorStop(0.1, "rgba(255, 0, 0, 0.5)"); g2.addColorStop(0.7, "rgba(255, 255, 0, 0.5)"); g2.addColorStop(1, "rgba(0, 0, 255, 0.5)"); for(var i = 0; i < 10; i++) { context.beginPath(); context.fillStyle = g2; context.arc(i * 25, i * 25, i * 10, 0, Math.PI * 2, true); context.closePath(); context.fill(); } } </script> </head> <body> <canvas></canvas> </body> </html>


注意:该文档使用的文字编码是GB2312,测试时请注意兼容;由于目前支持HTML5的浏览器还不是很多,请各位在查看演示案例的时候使用Firefox10或者Chrome或者Oprea11等高版本浏览器。


下载"通过HTML5提供的Canvas绘制径向渐变图形"

  • 本地下载
  • 本地下载2

     

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

    相关文章
    • html5canvas核心技术图形、动画与游戏开发源码

      html5canvas核心技术图形、动画与游戏开发源码

      2017-05-02 17:42

    • 打印html5中Canvas的方法

      打印html5中Canvas的方法

      2017-05-01 15:03

    • HTML5+Canvas调用手机拍照功能实现图片上传(下)

      HTML5+Canvas调用手机拍照功能实现图片上传(下)

      2017-04-30 17:00

    • HTML5新特性详解(三)

      HTML5新特性详解(三)

      2017-04-30 16:03

    网友点评