html5基础入门教程之canvas运用样式与颜色,前端开发大型网站

本文详细介绍了HTML5 Canvas中设置样式与颜色的方法,包括使用fillStyle和strokeStyle设置透明度,通过rgba()定义颜色透明度,以及线型属性如lineWidth、lineCap、lineJoin和miterLimit的用法。示例代码展示了如何创建不同颜色和透明度的矩形,以及线型的变化。此外,还提到了渐变的创建和应用,包括线性渐变和径向渐变,以及addColorStop()方法的使用。最后,作者分享了个人前端开发经验和学习资源。
摘要由CSDN通过智能技术生成

ctx.fillStyle=‘blue’;

ctx.fillRect(50,50,75,50);

ctx.fillStyle=‘green’;

ctx.fillRect(80,80,75,50);

}

}

上面这个例子,红色的矩形是完全不透明的,因为在它之前并没有设置透明度。在红色矩形绘制完成后,设置了都明度为0.2,从而之后绘制的蓝色矩形和绿色矩形的透明度都受影响了。

2.rgba

由于strokeStyle和fillStyle都接受符合css3规范的颜色值,所以还可以使用另一种设置透明度的方法,那就是rgba()方法,它的灵活性更大。

rgba()示例:

rgba

function draw(){

var canvas=document.getElementById(‘test_rgba’);

if(canvas.getContext){

var ctx=canvas.getContext(‘2d’);

//绘制四个宽高为150*37.5的矩形,颜色分别为:黄、绿、蓝、红

ctx.fillStyle=‘rgb(255,221,0)’;

ctx.fillRect(10,0,150,37.5);

ctx.fillStyle=‘rgb(102,204,0)’;

ctx.fillRect(10,37.5,150,37.5);

ctx.fillStyle=‘rgb(0,153,255)’;

ctx.fillRect(10,75,150,37.5);

ctx.fillStyle=‘rgb(255,51,0)’;

ctx.fillRect(10,112.5,150,37.5);

//绘制上面大矩形内部的白色小矩形

for(var i=0;i<10;i++){

ctx.fillStyle=‘rgba(255,255,255,’+(i+1)/10+‘)’;

for(var j=0;j<4;j++){

ctx.fillRect(15+i14,5+j37.5,14,27.5);

}

}

}

}

上面的例子,先竖向绘制了四个大小一致、颜色分别为黄、绿、蓝、红的背景矩形。然后根据变量i和j在四个矩形内部分别以一定步长来绘制背景色为白色透明度不一的白色小矩形。

线型

canvas可以通过一定属性来设置线的样式。

lineWidth = value

lineCap = type

lineJoin = type

miterLimit = value

1.lineWidth属性

lineWidth用于设置当前绘制的线的粗细。属性值必须为正数。默认值为1.0。

注意,这里的线宽是指给定路径的中心到两边的粗细。换句话说就是:在路径的两边各绘制线宽的一半。

来看一个例子:

lineWidth

function draw(){

var canvas=document.getElementById(‘test_lineWidth1’);

if(canvas.getContext){

var ctx=canvas.getContext(‘2d’);

ctx.lineWidth=10;

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值