问题标签 [fabricjs2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - FabricJs 2.1 和 Angular 5.2
我一直在使用 FabricJS 2.0 rc-3 和 Angular 5.0.3,它们一起工作得很好,但现在我开始一个新项目并使用当前最新的稳定 FabricJS 2.1 和 Angular 5.2.7,但它们不起作用。
这就是我之前导入 Fabric 并使用它的方式,没有任何问题:
在具有新版本的新项目中,这不起作用。它编译,但在运行时我得到这个:
我也尝试了以下导入,但它甚至没有编译:
我在网上上下搜索,但没有找到有关如何解决此问题的任何线索。
包.json:
svg - fabricjs:v2.2.1 如果 SVG 上只有一个路径,那么 SVG 路径在哪里存储在织物对象上
我正在将我的应用程序中的 fabricjs 从版本 1.7.22 升级到 2.2.1。
我主要使用在 Illustrator 中创建的 SVG 对象。然后在应用程序中,我正在处理 SVG 对象中的路径。
在 v1.7.22 中,svg 路径将位于每个对象的“路径”属性下......
现在有了 2.2.1,我看到 'paths' 消失了,并且有一个 '_objects' 属性。
这一切都很好。
我的问题是 '_objects' 属性仅在 SVG 对象上有超过 1 个路径时才存在,否则,我看不到 SVG 路径的存储位置。
所以如果是这样的话...
...然后 '_objects' 属性存在。但如果是这样的话...
..那么没有'_objects'属性。
那么如果有一个只有一条路径的 SVG 对象,那么该路径存储在织物对象中的什么位置呢?
javascript - fabricjs:在 loadFromJSON 之后保留对象图像过滤器的正确索引
我正在将过滤器应用于对象(在图像过滤器演示之后)并且一切正常,但是在我保存并加载画布后,图像过滤器会更改索引。
目前我有四个过滤器,它们按索引应用(如演示中所示)。
0:灰度
1:反转
2:去除颜色
3 :- 混合颜色
因此,如果我应用灰度和删除颜色,“过滤器”数组看起来像这样,索引 0 和 2 是正确的......
但是在我加载画布(使用 loadFromJSON)之后,对象的“过滤器”数组看起来像这样,索引被重置......
有什么方法可以加载对象并保留过滤器索引?有一些依赖于此的代码,当我加载具有过滤器对象的画布时,它会导致错误。
我尝试在创建对象时应用以下内容...
创建对象时它工作正常...
但是当它被加载时,错误的索引被删除并且它的结果相同......
javascript - 在 fabric.js 版本 2.2.0 中设置宽度/高度不适合对象大小
- 我正在使用面料版本“2.2.0”。
- 在创建图像对象时传递顶部、左侧、宽度、高度。
const imageobj = new fabric.Image(image, {'top': 50, 'left': 50, 'width': 300, 'height': 300});
- 传递给初始化图像对象的宽度/高度值在图像中使用。
- 但是当图像的宽度/高度小于传递给初始化对象的宽度/高度值时,图像不适合整个宽度/高度
- 如果实际图像的宽度/高度大于传递给初始化对象的宽度/高度,则图像被裁剪
我希望图像适合给定的宽度/高度;但不应更改 scaleX/scaleY。它应该始终为 1。
我了解 Fabric.js V 2.0 http://fabricjs.com/v2-break-changes中的 fabric.image 发生了重大变化
- 我已经按照上面链接中的建议更改了 fabric.Image.fromObject() 。但这不会影响图像创建期间的设置宽度/高度。
在 fabricjs 版本 1.7.19 中,完整的图像适合给定的宽度/高度。我想要与 fabric.js2.2.0 类似的行为
javascript - 引导点多边形创建
我正在尝试帮助我的用户创建多边形,在所述多边形的顶点中使用圆圈。我知道如何添加圆圈,但我没有看到如何在创建多边形结束时通过双击消除它们,它总是抛出一个错误,告诉我要删除的对象未定义
我该如何解决这个错误?
javascript - FabricJs:从 JSON (patternSourceCanvas) 保存和加载动态模式
我在保存和加载应用于对象的动态模式时遇到问题。
我在网上搜索了解决此问题的方法,但无济于事。我明白它为什么会发生,但不明白如何解决它。
这基本上就是我正在做的......
- 将动态模式应用于对象。
- 使用...'JSON.stringify(canvas.toJSON([...]))' 将画布保存到 MongoDB
- 使用“loadFromJSON”加载画布
- 收到错误“未捕获的 ReferenceError:patternSourceCanvas 未定义”
我在这个问题上发现的一切都可以追溯到至少 2 年前(有些甚至是 2013 年),没有可靠的代码示例。
更新
这是我用来在路径上应用模式的功能......
javascript - fabricjs 对象选择不适用于平移
我一直在使用 fabricjs 来创建绘图工具。有一个大图像作为画布背景和平移功能。用户可以在画布上拖放对象。但是当我们平移画布时,没有选择画布上的对象放置。
要检查问题,请在视口下部拖放圆圈,然后将画布向上平移到一半,并检查放置在画布上的对象不可选择。即使您尝试将对象移动到视口之外,它也将无法选择。
fabricjs - 织物。禁用所有事件/选择。(制作滴管)
需要使用吸管更改选定对象的颜色,我可以使用这种方式获得颜色:
但是单击某处会选择其他对象或取消选择当前对象。有什么方法可以暂时禁用所有事件?
在对象上设置selectable = false
也不是解决方案,因为如果单击背景或其他对象,当前对象将被取消选择。
fabricjs - FabricJS - 运行 toDataURL 时“可能无法导出受污染的画布”JS 错误
我有一个名为 ImageContainer 的自定义组件,它基本上创建一个矩形并将图像应用为填充图案。
当我在画布上运行函数 toDataURL 时,出现 js 错误
我试图实现的结果应该创建一个 png 数据并将其作为 src 应用到图像标签上。
知道如何解决吗?肿瘤坏死因子