6

我目前正在学习使用canvas,不明白这两个功能的区别。根据我的阅读,翻译方法“移动画布”?有人可以解释一下吗?

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

4

2 回答 2

7

想象一下你在方格纸上画画。

moveTo意思是你拿起笔在纸上划一条线。

translate意味着你改变桌子上纸张的位置。

他们不可能有更多不同的功能。

于 2013-10-03T00:39:00.423 回答
7

比 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)坐标(左上角)移动到新坐标。

我希望这能让事情更清楚一点!快乐编码!:)

于 2013-10-04T19:38:52.087 回答