canvas基础—实现颜色渐变

本文介绍在HTML5 Canvas中实现颜色渐变的方法,包括线条渐变和径向渐变的创建及应用,通过实例展示了如何使用createLinearGradient和createRadialGradient函数,并添加多个颜色停止点以实现丰富的视觉效果。
摘要由CSDN通过智能技术生成

canvas基础—实现颜色渐变

1、 在canvas中主要有两种渐变方式:线条渐变和径向/圆渐变。分别利用createLinearGradient(x,y,x1,y1)和createRadialGradient(x,y,r,x1,y1,r1)来创建。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>渐变</title>
</head>
<body>
    <canvas id="canvas_jianbian" width="1000" height="500" style="box-shadow: 0px 0px 20px black;">
当前浏览器不支持canvas
    </canvas>
</body>
<script>
    var c=document.getElementById("canvas_jianbian");
    var ctx=c.getContext("2d");
    //创建一个线条渐变
    var jb=ctx.createLinearGradient(0,0,200,0);
    jb.addColorStop(0, 'blue');//参数为0<stop<1,color
    jb.addColorStop(1,"red");
    //填充渐变
    ctx.fillStyle=jb;
    ctx.fillRect(10,10,150,80);//参数依次为:x,y,width,height  
</script>
</html>

2、结果:

在这里插入图片描述

3、需要注意的是addColorStop()方法指定颜色停止,参数使用坐标来描述,是0至1,并且必须要使用两种或两种以上的颜色。下面添加多个颜色:

<script>
    var c=document.getElementById("canvas_jianbian");
    var ctx=c.getContext("2d");
    //创建一个线条渐变
    var jb=ctx.createLinearGradient(0,0,200,0);
    jb.addColorStop(0,"black");
    jb.addColorStop("0.3","magenta");
    jb.addColorStop("0.5","blue");
    jb.addColorStop("0.6","green");
    jb.addColorStop("0.8","yellow");
    jb.addColorStop(1,"red");
    //填充渐变
    ctx.fillStyle=jb;
    ctx.fillRect(10,10,150,100);//参数依次为:x,y,width,height  
</script>

在这里插入图片描述

4、实现径向/圆渐变。

只需将var jb=ctx.createLinearGradient(0,0,200,0);这一行替换为:var jb=ctx.createRadialGradient(80,70,5,90,50,80);//(x,y,r,x1,y1,r1)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值