FabricJS:如何获取更新路径的位置
FabricJS: How to get the positions of an updated path
我正在使用Fabric js创建一些视觉元素。在我的项目中,路径正在更新。但问题是,这条路径的测量结果与预期不符。
参考jsFiddle
var canvas = new fabric.Canvas('c', {width: 400, height: 400});
var line = new fabric.Path('M,50,50,L,50,150,150,150,150,50,Z', {
fill: 'blue'
});
line.setCoords();
// During update
line.initialize('M,150,50,L,150,150,300,150,300,50,Z')
line.setCoords();
canvas.renderAll();
在示例中,路径最初是在距离画布左边框50px的地方绘制的。然后我改变了路径命令,使它向右移动100px。
但是在更新路径后,形状实际上位于距离左侧175px的位置。此外,path元素的left属性也不会改变。
而且,我无法理解所有这些属性和它们之间的关系,left, top, scaleX, scaleY, height, width, pathOffset, ocods, originalState等在各种条件下,如路径/画布缩放,旋转,移动,放置在一个组中等
我不确定你想要实现什么,但initialize
方法不是一个更新方法,但它是类的构造函数,你实际上覆盖了初始对象的路径。
如果你只是想移动你原来创建的路径,你应该玩Path
对象的left, top
属性,就像在这个更新的fiddler
相关文章:
- 如何在编译时更新yeoman angular中的html路径
- 将URL路径与<a>attr('href')来动态更新.active类
- 不可变,更新在给出无效的键路径
- D3 在更新时调整路径大小(获得 10 像素宽度) - 为什么
- 当更新流星中的嵌套集合时,如何为更新路径传递变量
- 如何使用jQueryURI更新具有完整目录路径的链接
- 如何在Angular文件上传模块中更新URL路径
- 在嵌套json对象中查找和更新,而不更改不同子路径中的相同密钥对值
- 由于斜杠字符,Firebase多路径更新失败
- d3.js甜甜圈图::其他路径被渲染而不更新
- 使用路径线选择更新图案
- 具有多个更新路径的主干用户模型
- FabricJS:如何获取更新路径的位置
- 避免无效路径格式错误在D3更新
- 从类型化数组更新svg路径
- 使用HTML文本字段沿着SVG文本路径更新文本
- 如何隐藏路径位置,当使用外部Javascript更新HTML与外部文本文档
- 在树的顶部绘制SVG路径.无法更新路径
- 要求 JS填充程序在更新路径后丢失
- RaphaelJS/Javascript更新路径,而不是创建新的