HTML canvas fillStyle 属性
Canvas 对象
实例
定义用红色填充的矩形:
Yourbrowserdoesnotsupportthecanvastag.
var c=document.getElementById(“myCanvas”);
var canvOK=1;
try {c.getContext(“2d”);}
catch (er) {canvOK=0;}
if (canvOK==1)
{
var ctx=c.getContext(“2d”);
ctx.fillStyle=”#FF0000″;
ctx.fillRect(20,20,150,100);
}
JavaScript:
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
ctx.fillStyle=”#FF0000″;
ctx.fillRect(20,20,150,100);
浏览器支持
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 fillStyle 属性。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
定义和用法
fillStyle 属性设置或返回用于填充绘画的颜色、渐变或模式。
默认值: | #000000 |
---|---|
JavaScript 语法: | context.fillStyle=color|gradient|pattern; |
属性值
值 | 描述 | |
---|---|---|
color | 指示绘图填充色的 CSS 颜色值。默认值是 #000000。 | |
gradient | 用于填充绘图的渐变对象(线性 或 放射性)。 |
|
pattern | 用于填充绘图的 pattern 对象。 |
更多实例
实例
定义从上到下的渐变,作为矩形的填充样式:
Yourbrowserdoesnotsupportthecanvastag.
var canvas=document.getElementById(“myCanvas2”);
var ctx=canvas.getContext(“2d”);
var my_gradient=ctx.createLinearGradient(0,0,0,170);
my_gradient.addColorStop(0,”black”);
my_gradient.addColorStop(1,”white”);
ctx.fillStyle=my_gradient;
ctx.fillRect(20,20,150,100);
JavaScript:
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var my_gradient=ctx.createLinearGradient(0,0,0,170);
my_gradient.addColorStop(0,”black”);
my_gradient.addColorStop(1,”white”);
ctx.fillStyle=my_gradient;
ctx.fillRect(20,20,150,100);
实例
定义从左到右的渐变,作为矩形的填充样式:
Yourbrowserdoesnotsupportthecanvastag.
var canvas=document.getElementById(“myCanvas3”);
var ctx=canvas.getContext(“2d”);
var my_gradient=ctx.createLinearGradient(0,0,170,0);
my_gradient.addColorStop(0,”black”);
my_gradient.addColorStop(1,”white”);
ctx.fillStyle=my_gradient;
ctx.fillRect(20,20,150,100);
JavaScript:
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var my_gradient=ctx.createLinearGradient(0,0,170,0);
my_gradient.addColorStop(0,”black”);
my_gradient.addColorStop(1,”white”);
ctx.fillStyle=my_gradient;
ctx.fillRect(20,20,150,100);
实例
定义从黑到红到白的的渐变,作为矩形的填充样式:
Yourbrowserdoesnotsupportthecanvastag.
var canvas=document.getElementById(“myCanvas4”);
var ctx=canvas.getContext(“2d”);
var my_gradient=ctx.createLinearGradient(0,0,170,0);
my_gradient.addColorStop(0,”black”);
my_gradient.addColorStop(0.5,”red”);
my_gradient.addColorStop(1,”white”);
ctx.fillStyle=my_gradient;
ctx.fillRect(20,20,150,100);
JavaScript:
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var my_gradient=ctx.createLinearGradient(0,0,170,0);
my_gradient.addColorStop(0,”black”);
my_gradient.addColorStop(0.5,”red”);
my_gradient.addColorStop(1,”white”);
ctx.fillStyle=my_gradient;
ctx.fillRect(20,20,150,100);
用到的图像:
实例
使用图像来填充绘图:
YourbrowserdoesnotsupporttheHTML5canvastag.
document.getElementById(“lamp”).onload=function()
{
var c=document.getElementById(“myCanvas5”);
var canvOK=1;
try {c.getContext(“2d”);}
catch (er) {canvOK=0;}
if (canvOK==1)
{
var ctx=c.getContext(‘2d’);
var img=this;
var pat=ctx.createPattern(img,’repeat’);
ctx.rect(0,0,150,100);
ctx.fillStyle=pat;
ctx.fill();
}
}
JavaScript:
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var img=document.getElementById(“lamp”);
var
pat=ctx.createPattern(img,”repeat”);
ctx.rect(0,0,150,100);
ctx.fillStyle=pat;
ctx.fill();
Canvas 对象