位置:电子教程 > HTML5入门电子教程 (如果看不到内容请使用360浏览器) 推荐学习资源
HTML5 简介
HTML5 Canvas教程
HTML5 基础标签
HTML5 表单属性和input详解
HTML5 高级部分
当前阅读教程:HTML5入门电子教程 > Canvas 渐变
阅读(22555525)      收藏       赞(5685)      分享
上一篇: Canvas 文本 下一篇: Canvas 图像

渐变可以填充在矩形, 圆形, 线条, 文本等等, 各种形状可以自己定义不同的颜色。

以下有两种不同的方式来设置Canvas渐变:

n  createLinearGradient(x,y,x1,y1) - 创建线条渐变

n  createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变

当我们使用渐变对象,必须使用两种或两种以上的停止颜色。

addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是01.

使用渐变,设置fillStylestrokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。

示例

小白教程网www.2d5.net

:创建一个线性渐变。使用渐变填充矩形

使用 createLinearGradient(),下面我们来看下在网页中的效果,示例

小白教程网www.2d5.net

代码如下:

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>Canvas - 渐变-线性渐变</title>

</head>

<body>

    

     <canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">

     您的浏览器不支持 HTML5 canvas 标签。</canvas>

 

     <script>

     var c=document.getElementById("myCanvas");

     var ctx=c.getContext("2d");

     // Create gradient

     var grd=ctx.createLinearGradient(0,0,200,0);

     grd.addColorStop(0,"red");

     grd.addColorStop(1,"white");

     // Fill with gradient

     ctx.fillStyle=grd;

     ctx.fillRect(10,10,150,80);

     </script>

    

</body>

</html>

效果如图7-8

image.png

示例

小白教程网www.2d5.net

:创建一个径向/圆渐变。使用渐变填充矩形

使用 createRadialGradient(),下面我们来看下在网页中的效果,示例

小白教程网www.2d5.net

代码如下:

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>Canvas - 渐变-径向/圆渐变</title>

</head>

<body>

    

     <canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">

     您的浏览器不支持 HTML5 canvas 标签。</canvas>

 

     <script>

     var c=document.getElementById("myCanvas");

     var ctx=c.getContext("2d");

     // Create gradient

     var grd=ctx.createRadialGradient(75,50,5,90,60,100);

     grd.addColorStop(0,"red");

     grd.addColorStop(1,"white");

     // Fill with gradient

     ctx.fillStyle=grd;

     ctx.fillRect(10,10,150,80);

     </script>

    

</body>

</html>

效果如图7-9

image.png


上一篇: Canvas 文本 下一篇: Canvas 图像
毕业设计网             广告联系QQ:45157718(微信同号)