在HTML5画布中,translate()和moveTo()javascript函数有什么区别?

时间:2013-10-03 00:37:34

标签: javascript html5 canvas

我目前正在学习使用canvas,并且不了解这两个函数之间的区别。根据我的阅读,翻译方法'移动画布'?有人可以解释一下吗?

编辑:moveTo是否仅在路径的上下文中使用?

2 个答案:

答案 0 :(得分:6)

想象一下,你正在使用方格纸。

moveTo表示你拿笔并将其移过纸张画一条线。

translate表示您将纸张的位置移到桌面上。

他们的功能可能不同。

答案 1 :(得分:6)

要比Kolink更具体一点,因为我认为解释有点混乱;

- 您传递的坐标moveTo是新线(或形状)的起点;好像从纸上拿起笔并将其设置在新位置(新坐标)。

- lineTo的功能就是“将笔移到纸上画一条线”(到你给它的新坐标,因为你需要两个点画一条线,显然)

- 您可以一个接一个地发出多个lineTo来电并使用您结束的最后一个点,继续这一行,如下所示:

ctx.moveTo(100,50);
ctx.lineTo(25,175);
ctx.lineTo(175,175);
ctx.lineTo(100,50);
ctx.stroke();

这是一个显示结果的简单小提琴:http://jsfiddle.net/fbZKu/ (您甚至可以使用ctx.fill()“填充”这些形状!)

- 使用translate将画布'(0,0)坐标(左上角)移动到新坐标。

我希望能更清楚一点!快乐的编码! :)