html画布草图与填充宽度

时间:2011-03-11 07:18:44

标签: html canvas width fill

我注意到草绘一个盒子并填充一个盒子会导致不同大小的盒子。处理命中检测时,这有点令人头疼。例如,如果我有一个我正在绘制的圆圈和一个我正在绘制的矩形,我想知道这两个是否相交用于动画。有没有办法解决?一个简单的解决方案是将线宽设置为零,但这不是一个选项。

1 个答案:

答案 0 :(得分:1)

您需要将lineWidth添加到描边对象的计算中。

调用fillRect(0,0,60,60)会从60x60开始为您提供一个(0,0)框,但如果您正在抚摸,则必须为每一边添加一半的线宽。

因此,使用6行调用strokeRect(0,0,60,60)的行宽确实会为您提供一个以66x66开头的(-3,-3)框。

由于缓和,数学可能略有不同,但对于大多数应用程序,您可以忽略它。

可能会或可能不会与您的程序一起使用的一个简单解决方案是,对于每个填充的对象,调用fillRect AND strokeRect。对象将变得稍大,但它将与您的描边对象一致地调整大小。这种方法的有效性当然完全取决于你到目前为止的写作方式。