如何在 html 画布上获取笔的位置

How to get pen position on html canvas?

本文关键字:获取 位置 html      更新时间:2023-09-26

我认为旧版本的画布具有canvas.PenPos属性,可让您查看当前笔的位置。我主要使用它来调试目的并相对绘制(例如,当前位置右侧的 50px 长的线(。目前有什么办法可以做到这一点吗?如果不是,他们为什么要删除它...?

我所指的笔位置是绘图上下文(例如,通过调用var ctx = canvas.getContext('2d')获得(使用的虚拟"笔",而不是物理笔或鼠标。

我不是想用鼠标画画。同样,这不是我要找的物理笔,而是随ctx.moveTo(x,y)移动的虚拟笔

根据 w3.org,没有返回笔位置的方法。

由于 .getContext("2d"( 方法返回一个对象,因此可以将笔位置存储为属性并根据需要调用它们:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
//Start position
ctx.x = 100;
ctx.y = 100;
ctx.moveTo(ctx.x, ctx.y);
ctx.x = ctx.x + 100;
ctx.y = ctx.y + 300;
ctx.lineTo(ctx.x, ctx.y);
ctx.stroke();
但是,在

创建圆弧时,您需要在之后计算笔的新位置。