beginPath()和closePath()

beginPath()和closePath()

导语:beginPath()方法和closePath()是取得上下文对象的两个方法.

  beginPath()方法就是告诉画布:“我要开始画啦,快把之前的都清除掉!”如果之前并没有画任何内容,则以下两段代码显示的效果没有什么不同:

//将光标移到合适位置
context.moveTo(10, 10);
//画线
context.lineTo(100, 100);
//描边
context.strokeStyle = "green";
context.lineWidth = "5";
context.stroke();
context.beginPath();
//将光标移到合适位置
context.moveTo(10, 10);
//画线
context.lineTo(100, 100);
//描边
context.strokeStyle = "green";
context.lineWidth = "5";
context.stroke();

以上代码中的的context.stroke()方法是用来描边的,如果没有,则不会显示出任何内容。

closePath()方法与之前有没有beginPath()无关,如果之前画出了一些路径,closePath()将最近画出的一条路径闭合。

//使用context绘制
context.beginPath();
//将光标移到合适位置
context.moveTo(10, 10);
//画线
context.lineTo(100, 100);
context.lineTo(10, 100);

context.moveTo(200, 200);
context.lineTo(300, 300);
context.lineTo(100, 300);

context.closePath();

//描边
context.strokeStyle = "green";
context.lineWidth = "5";
context.stroke();

上述代码先画出一段折线,然后改变游标位置再画出一段折线,closePath()会将第二段折线闭合,形成一个三角形。

//使用context绘制
context.beginPath();
//将光标移到合适位置
context.moveTo(10, 10);
//画线
context.lineTo(100, 100);
context.lineTo(10, 100);

context.moveTo(200, 200);
context.lineTo(300, 300);

context.closePath();

//描边
context.strokeStyle = "green";
context.lineWidth = "5";
context.stroke();

上述代码也会先画出一段折线,然后改变游标位置,画出一天直线,直线无法闭合,故closePath()并没有产生什么效果。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`ctx.closePath()`是Canvas 2D上下文对象的方法之一,用于闭合当前路径。 在Canvas中,路径是由一系列的线段或曲线组成的。`closePath()`方法用于将当前路径的最后一个点与起始点连接起来,形成一个封闭的形状。这样,在填充或描边路径时,将会自动连接起始点和结束点,形成一个闭合的图形。 `closePath()`方法并不会绘制任何线条或曲线,它只是将当前路径的最后一个点与起始点连接起来。它可以在绘制完一段路径后调用,也可以在使用`beginPath()`方法开始一个新的路径之前调用。 以下是一个简单的示例代码,展示了如何使用`closePath()`方法: ```javascript var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(50, 50); ctx.lineTo(150, 50); ctx.lineTo(150, 150); ctx.closePath(); ctx.fillStyle = "lightblue"; ctx.fill(); ``` 在这个示例中,我们首先使用`moveTo()`方法将起始点移动到(50, 50),然后使用`lineTo()`方法绘制一条线段到(150, 50)。接下来,使用`lineTo()`方法再绘制一条线段到(150, 150)。最后,调用`closePath()`方法将最后一个点(150, 150)与起始点(50, 50)连接起来,形成一个闭合的路径。然后,我们设置`fillStyle`属性为"lightblue",并调用`fill()`方法填充路径,形成一个填充颜色为"lightblue"的封闭图形。 请注意,调用`closePath()`方法是可选的。如果在绘制路径时没有调用`closePath()`方法,路径将保持打开状态,无法形成闭合图形。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值