html一个矩形两种颜色渐变,如何用HTML5中的canvas绘制渐变矩形

canvas是HTML5中新增的特性,它可以在浏览器上绘制出各种酷炫的效果,作为一个前端开发人员,你知道如何用canvas绘制图形吗?这篇文章就和大家讲讲如何用canvas绘制一个矩形及一个渐变色矩形,有一定的参考价值,感兴趣的朋友可以参考一下。

标签可以用来绘制图形,但是要通过JavaScript脚本来实现效果,因为标签只是一个装图形的容器,效果的实现要借助JavaScript脚本。我们可以用canvas绘制直线,圆形,矩形,字符等等。

举例1:用canvas绘制一个红色矩形,具体步骤如下:

第一步:用document.getElementById( )找到 元素

第二步:用getContext("2d")创建 context 对象

第三步:fillStyle属性可以设置矩形颜色,本例将其设置为红色;fillRect(x,y,width,height) 方法可以绘制已填色的矩形,x表示矩形左上角的X轴坐标,y表示矩形左上角的Y轴坐标,width表示矩形的宽度,height表示矩形的高度

完整代码如下:

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.fillStyle="#FF0000";

ctx.fillRect(25,10,150,80);

效果图:

96a6e6ebaf3dd02c1b923f0b36a4b5e1.png

举例2:用canvas绘制一个渐变矩形,代码如下所示:

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

// Create gradient

var grd=ctx.createLinearGradient(0,0,200,0);

grd.addColorStop(0,"orange");

grd.addColorStop(1,"red");

// Fill with gradient

ctx.fillStyle=grd;

ctx.fillRect(25,10,150,80);

createLinearGradient(x,y,x1,y1) 可以创建线性渐变,使用渐变时,必须使用两种或者两种以上的颜色

addColorStop()方法表示颜色停止,可以是0至1

用fillStyle设置矩形颜色,然后用fillRect(x,y,width,height)绘制矩形

效果如图所示:

d3111bf9d5b064d2ef092b7ffb0b594d.png

以上详细介绍了用canvas绘制矩形和渐变矩形的方法,比较简单,初学者可以自己动手尝试,看看自己能不能绘制出更好看的图形,希望这篇文章对你有所帮助!

更多相关教程请访问 Html5视频教程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来回答你的问题。 首先,我们需要在 HTML 添加一个 canvas 标签: ```html <canvas id="myCanvas" width="400" height="400"></canvas> ``` 接下来,我们可以使用 JavaScript 来绘制折线、矩形颜色渐变矩形及圆形,具体代码如下: ```javascript // 获取 canvas 元素 const canvas = document.getElementById("myCanvas"); const context = canvas.getContext("2d"); // 绘制折线 context.beginPath(); context.moveTo(50, 50); context.lineTo(100, 100); context.lineTo(150, 50); context.strokeStyle = "red"; context.stroke(); // 绘制矩形 context.fillStyle = "blue"; context.fillRect(200, 50, 50, 50); // 绘制颜色渐变矩形 const gradient = context.createLinearGradient(0, 0, canvas.width, 0); gradient.addColorStop(0, "red"); gradient.addColorStop(0.5, "green"); gradient.addColorStop(1, "blue"); context.fillStyle = gradient; context.fillRect(50, 150, 200, 50); // 绘制圆形 context.beginPath(); context.arc(300, 200, 50, 0, 2 * Math.PI); context.fillStyle = "yellow"; context.fill(); ``` 以上代码,我们使用了 `beginPath()` 方法来开始绘制路径,使用 `moveTo()` 和 `lineTo()` 方法来绘制折线,使用 `strokeStyle` 属性设置线条颜色,使用 `stroke()` 方法来绘制线条。 我们还使用了 `fillStyle` 属性来设置填充颜色,使用 `fillRect()` 方法来绘制矩形,使用 `createLinearGradient()` 方法来创建颜色渐变,使用 `addColorStop()` 方法来设置渐变颜色点,并最终使用 `fill()` 方法来填充颜色渐变矩形。 最后,我们使用 `arc()` 方法来绘制圆形,使用 `fill()` 方法来填充圆形。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值