canvas标签strokeStyle 属性用于设置笔触绘画样式,可以为1颜色2渐变3模式。
设置一个用黄色为笔触的矩形
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>设置一个用黄色为笔触的矩形-HTML教程www.xuandaima.com</title> </head> <body> <canvas id="testCanvas" width="290" height="160" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5的canvas标签。</canvas> <script> var c=document.getElementById("testCanvas"); var ctx=c.getContext("2d"); ctx.strokeStyle="#FFFF00"; ctx.lineWidth=5; ctx.strokeRect(30,40,140,110); </script> </body> </html>
说明字段 | 描述 |
---|---|
document.getElementById("testCanvas") | 返回文档id属性为"testCanvas"的对象 |
getContext("2d") | getContext() 返回画布上绘图的环境。getContext("2d") 返回绘制类型(2 维)的环境,未来可能会支持3维,但现在支持2维。 |
ctx.strokeStyle="#FFFF00" | strokeStyle 属性设置用于笔触绘画的颜色、渐变或模式。这里设置笔触颜色,颜色为"#FFFF00"黄色 |
ctx.lineWidth=5; | lineWidth 属性笔触大小,这里设置为5 |
ctx.strokeRect(30,40,140,110) | strokeRect属性绘制"无填充"的矩形,绘制X坐标为30,Y坐标为40,矩形宽为140像素,矩形高为110像素。 |
![]() | “无填充”的strokeStyle和strokeRect配套使用,“填充”的fillStyle和fillRect配套使用。 |
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
strokeStyle 属性默认值为#000000黑色,
context.strokeStyle=color|gradient|pattern;
从橙色到黄色再到白色的渐变笔触的矩形
var c=document.getElementById("testCanvas"); var ctx=c.getContext("2d"); var mygradient=ctx.createLinearGradient(0,0,160,0); mygradient.addColorStop(0,"orange"); mygradient.addColorStop(0.5,"yellow"); mygradient.addColorStop(1,"white"); ctx.strokeStyle=mygradient; ctx.lineWidth=5; ctx.strokeRect(30,40,140,110);
说明字段 | 描述 |
---|---|
document.getElementById("testCanvas") | 返回文档id属性为"testCanvas"的对象 |
getContext("2d") | getContext() 返回画布上绘图的环境。getContext("2d") 返回绘制类型(2 维)的环境,未来可能会支持3维,但现在支持2维。 |
createLinearGradient(0,0,160,0) | createLinearGradient() 方法创建线性的渐变对象。渐变开始X坐标(0)Y坐标(0),渐变结束X坐标(160)Y坐标(0) |
addColorStop(0,"orange") | addColorStop() 规定渐变对象中的颜色和位置。0是位置(0.0到1.0之间),"orange"是颜色 橙色 |
addColorStop(0.5,"yellow") | 规定第二种颜色"yellow"黄色,位置在百分之50(中间位置)。 |
addColorStop(1,"white") | 规定第三种颜色"white"白色,位置在百分百(靠右位置) |
ctx.strokeStyle=mygradient | strokeStyle属性定义笔触为三种颜色的渐变颜色。。 |
ctx.lineWidth=5; | lineWidth 属性笔触大小,这里设置为5 |
ctx.strokeRect(30,40,140,110) | strokeRect属性绘制"无填充"的矩形,绘制X坐标为30,Y坐标为40,矩形宽为140像素,矩形高为110像素。 |
用一个渐变笔触来写文本 "www.xuandaima.com!"
var c=document.getElementById("testCanvas"); var ctx=c.getContext("2d"); ctx.font="30px Verdana"; // 创建渐变 var mygradient=ctx.createLinearGradient(0,0,c.width,0); mygradient.addColorStop(0,"orange"); mygradient.addColorStop(0.5,"yellow"); mygradient.addColorStop(1,"white"); // 渐变填充 ctx.strokeStyle=mygradient; ctx.strokeText("www.xuandaima.com!",10,50);
说明字段 | 描述 |
---|---|
document.getElementById("testCanvas") | 返回文档id属性为"testCanvas"的对象 |
getContext("2d") | getContext() 返回画布上绘图的环境。getContext("2d") 返回绘制类型(2 维)的环境,未来可能会支持3维,但现在支持2维。 |
ctx.font="30px Verdana" | font属性设置画布上文本内容的当前字体属性,这里设置字体大小30像素的Verdana字体 |
ctx.createLinearGradient(0,0,c.width,0) | createLinearGradient() 方法创建线性的渐变对象。渐变开始X坐标(0)Y坐标(0),渐变结束X坐标("testCanvas"对象宽度)Y坐标(0) |
mygradient.addColorStop(0,"orange") | addColorStop() 规定渐变对象中的颜色和位置。0是位置(0.0到1.0之间),"orange"是颜色 橙色 |
mygradient.addColorStop(0.5,"yellow") | 规定第二种颜色"yellow"黄色,位置在百分之50(中间位置)。 |
addColorStop(1,"white") | 规定第三种颜色"white"白色,位置在百分百(靠右位置) |
ctx.strokeStyle=mygradient; | strokeStyle 属性定义为三种颜色的渐变颜色 |
strokeText("www.xuandaima.com!",10,50); | strokeText属性在画布上绘制文本"www.xuandaima.com!"(无填充色),文本X坐标(10)Y坐标(50) |