html文档中strokestyle,HTML5简明教程-1.1.2.HTML5Canvas参考手册 之 笔触strokeStyle

本文详细介绍了HTML5 Canvas的strokeStyle属性,它用于定义图形绘制时的笔触颜色、渐变或模式。通过strokeStyle,我们可以设置线性渐变、颜色值或图案来改变线条样式。文中提供了多个示例,包括使用颜色值、rgba颜色以及图案对象创建不同的笔触效果,并展示了实际应用的代码和效果图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天介绍canvas的另一个重要属性strokeStyle,strokeStyle属性定义了我们在canvas画布上进行图形绘制时的“笔触”,简单点说,就是定义了我们的画笔样式。另外,strokeStyle仅仅定义笔触样式,不能定义填充样式,填充样式需要用fillStyle定义,

属性名:strokeStyle

属性描述:strokeStyle 属性设置或返回用于笔触的颜色、渐变或模式。

属性默认值:#000000

属性值:颜色值、渐变或模式

js语法:context.strokeStyle=color|gradient|pattern;

属性值注解:color:指示绘图笔触颜色的 CSS 颜色值。默认值是 #000000。

gradient:用于填充绘图的渐变对象(线性或放射性)

pattern:用于创建 pattern 笔触的 pattern 对象

属性值示例:

(1)渐变。下面我们用渐变笔触绘制了一句:“Merry Christmas”。

//设置绘制文字大小及字体

cC.font = "30px Verdana";

//定义线性渐变

var lg = cC.createLinearGradient(0, 0, 200, 0);

lg.addColorStop("0", "magenta");

lg.addColorStop("0.5", "blue");

lg.addColorStop("1.0", "red");

//将渐变设定为笔触

cC.strokeStyle = lg;

//设定绘制文字

cC.strokeText("Merry Christmas", 0, 50);

(2)颜色。颜色值可以是定义颜色的单词(如:red)、具体颜色值(如:#000000)或者rgba颜色(如:rgba(0,0,255,0.8))

//用颜色值设置笔触并绘制矩形线框

cC.strokeStyle = '#3f3f42';

cC.strokeRect(10, 70, 50, 50);

//用rgba颜色设置笔触并绘制矩形线框

cC.strokeStyle = 'rgba(0,0,255,0.8)';

cC.strokeRect(70, 70, 50, 50);

(3)模式。模式指用createPattern()方法所定义的模式对象。

//获得img对象

var img = document.getElementById('img');

//图片加载完成后进行绘制操作

img.onload = function() {

//创建patten对象

var p = cC.createPattern(img, 'repeat');

//将patten对象设置为笔触

cC.strokeStyle = p;

//绘制矩形线框

cC.strokeRect(10, 140, 100, 100);

};

下面是我用于测试的完整代码:

Html5 Canvas strokeStyle

原图:

原图

//获得页面元素

var c = document.getElementById('can');

//调用html5相关方法获得2D对象

var cC = c.getContext('2d');

//用颜色值设置笔触并绘制矩形线框

cC.strokeStyle = '#3f3f42';

cC.strokeRect(10, 70, 50, 50);

//用rgba颜色设置笔触并绘制矩形线框

cC.strokeStyle = 'rgba(0,0,255,0.8)';

cC.strokeRect(70, 70, 50, 50);

//设置绘制文字大小及字体

cC.font = "30px Verdana";

//定义线性渐变

var lg = cC.createLinearGradient(0, 0, 200, 0);

lg.addColorStop("0", "magenta");

lg.addColorStop("0.5", "blue");

lg.addColorStop("1.0", "red");

//将渐变设定为笔触

cC.strokeStyle = lg;

//设定绘制文字

cC.strokeText("Merry Christmas", 0, 50);

//获得img对象

var img = document.getElementById('img');

//图片加载完成后进行绘制操作

img.onload = function() {

//创建patten对象

var p = cC.createPattern(img, 'repeat');

//将patten对象设置为笔触

cC.strokeStyle = p;

//绘制矩形线框

cC.strokeRect(10, 140, 100, 100);

};

下面是测试效果图:

0818b9ca8b590ca3270a3433284dd417.png

转载请注明出处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值