AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > html游戏

HTML画布渐变

51自学网 http://www.51zixue.net

 渐变可用于填充矩形,圆形,线条,文字等。画布上的形状不限于纯色。

 
有两种不同类型的渐变梯度:
 
createLinearGradient(x,y,x1,y1) - 创建一个线性渐变
createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆形渐变
一旦我们有一个渐变对象,我们必须添加两个或更多的颜色停止。
 
addColorStop()方法指定颜色停止,以及其沿渐变的位置。 梯度位置可以在0到1之间。
 
要使用渐变,请将fillStyle或strokeStyle属性设置为渐变,然后绘制形状(矩形,文本或行)。

Using createLinearGradient()

Example

创建线性渐变。 用渐变色填充矩形:

JavaScript:

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);
完整源代码:
<!DOCTYPE html>
<html>
<body>
 
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</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>
 
使用createRadialGradient():
创建径向/圆形渐变。 用渐变填充矩形:

JavaScript:

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);
完整代码:
<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</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>

 
上一篇:HTML画布坐标-画直线-画圆  下一篇:HTML画布文本-填充文本、不填充文本、文本居中并填颜色