javascript - EaselJS中获取直线的起点和终点

标签 javascript html canvas easeljs

是否可以从绘制的直线中检索这些点? API并没有真正帮助我。

var line = new createjs.Graphics();
line.beginStroke( 'black' );
line.moveTo( 0, 0 );
line.lineTo( 100, 100 );

现在我正在创建 Point 类的实例并使用坐标作为参数。

var point1 = new Point(0, 0);
var point2 = new Point(100, 100);

var line = new createjs.Graphics();
line.beginStroke( 'black' );
line.moveTo( point1.x, point1.y );
line.lineTo( point2.x, point2.y );

最佳答案

虽然理论上可以检索这些坐标,但最好将它们保存为自定义对象(例如点,就像您已经做的那样)。

<小时/>

Graphics对象将这些绘制指令和坐标保存在Commands (Command(f, params, path))中 - 以及所有事件命令保存在数组中:line._activeInstructions

您必须遍历第一个和最后一个命令并检索命令的 params 数组,这些将是您的要点。但这仅适用于简单线路的情况。由于这使用了 Graphics 对象的内部变量和方法,因此我强烈建议不要这样做。 另外,我建议您在这种情况下保持代码的可读性,而不是尝试通过不使用具有几乎无法测量的内存效应的 2 个点来节省一些内存。

关于javascript - EaselJS中获取直线的起点和终点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434043/

相关文章:

javascript - 这些闭包示例有什么区别?

javascript - 为什么不把 Prop 传给 child 呢?

javascript - Threejs : WebGL 3D text to three. js海洋场景

javascript - 如何动态绘制 "pretty"贝塞尔曲线?

javascript - 为什么无法在 GhostDriver/PhantomJSDriver 中禁用 JavaScript?

jquery - 如何向 HTML 输入字段添加不可删除的前缀?

javascript - 内容扩展到 div 之外但没有滚动条

html - 让div填充父级的剩余空间

javascript - 如何将 Canvas 图像 "data:image/jpeg;base64,.."转换为普通图像文件 - javascript

javascript - 在鼠标悬停时播放随机轨道