HTML画布的fillStyle()属性用于设置绘图的颜色,渐变或图案。默认值为#000000。 <canvas>元素允许您使用JavaScript在网页上绘制图形。每个画布都有两个描述画布高度和宽度的元素,分别是高度和宽度。
为矩形定义红色填充颜色:
JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>HTML canvas fillStyle属性的使用(菜鸟教程 (cainiaojc.com))</title>
</head>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签。</canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(20,20,150,100);
</script>
</body>
</html>
测试看看 ‹/›IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 fillStyle 属性。
注意:Internet Explorer 8 及之前的版本不支持canvas元素。
<canvas>元素允许您使用JavaScript在网页上绘制图形。每个画布都有两个描述画布高度和宽度的元素,分别是高度和宽度。
默认值: | #000000 |
---|---|
JavaScript 语法: | context.fillStyle=color|gradient|pattern; |
值 | 描述 |
---|---|
color | 指示绘图填充色的 CSS 颜色值。默认值是 #000000。 |
gradient | 用于填充绘图的渐变对象(线性 或 放射性)。 |
pattern | 用于填充绘图的 pattern 对象。 |
定义一个渐变(从上到下)作为矩形的填充样式:
JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>HTML canvas fillStyle属性的使用(菜鸟教程 (cainiaojc.com))</title>
</head>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签.</canvas>
<script>
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);
</script>
<p>注意:Internet Explorer 8和更早版本不支持canvas标记。</p>
</body>
</html>
测试看看 ‹/›定义从左到右的渐变,作为矩形的填充样式:
JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>HTML canvas fillStyle属性的使用(菜鸟教程 (cainiaojc.com))</title>
</head>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var grd = ctx.createLinearGradient(0, 0, 170, 0);
grd.addColorStop(0, "black");
grd.addColorStop(0.5, "red");
grd.addColorStop(1, "white");
ctx.fillStyle = grd;
ctx.fillRect(20, 20, 150, 100);
</script>
<p>注意:Internet Explorer 8和更早版本不支持canvas标记。</p>
</body>
</html>
测试看看 ‹/›定义从黑色到红色到白色的渐变作为矩形的填充样式:
JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>HTML canvas fillStyle属性的使用(菜鸟教程 (cainiaojc.com))</title>
</head>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签.</canvas>
<script>
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);
</script>
<p>注意:Internet Explorer 8和更早版本不支持canvas标记。</p>
</body>
</html>
测试看看 ‹/›使用图像来填充绘图:
JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>HTML canvas fillStyle属性的使用(菜鸟教程 (cainiaojc.com))</title>
</head>
<body>
<p>图片应用:</p>
<img src="haha.gif" id="lamp">
<p>画布:</p>
<button onclick="draw('repeat')">重复</button>
<button onclick="draw('repeat-x')">重复-x</button>
<button onclick="draw('repeat-y')">重复-y</button>
<button onclick="draw('no-repeat')">不重复</button>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签。
</canvas>
<script>
function draw(direction)
{
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.clearRect(0,0,c.width,c.height);
var img=document.getElementById("lamp")
var pat=ctx.createPattern(img,direction);
ctx.rect(0,0,220,128);
ctx.fillStyle=pat;
ctx.fill();
}
</script>
</body>
</html>
测试看看 ‹/›