自定义控制

这个演示展示了怎么开始使用自定义控制API。 第一个例子展示了为了控制怎么去写一个自定义绘制方法,以及怎么去定义一个自定义动作来响应鼠标。 新的API提供了如下鼠标能力:

以及去运行自定义代码:

1.建立控件

我们创建一个新的控件并将其添加到对象中。

要创建控件,我们使用 javascript>new fabric.Control(options)

在这里,我们希望控件的位置接近对象的右上角经典控件,因此我们将 x 设置为 0.5,即对象边界框的最右端。同样地,将 y 设置为 -0.5。我们不希望它与当前的右上角重叠,因此添加一个正数的 offsetY,这样会让它向下稍微偏移一些。

我们希望控件渲染一个图标,而不是 Fabric 支持的圆形或方形,因此需要为控件提供自定义的渲染函数。该函数会接收画布的上下文作为第一个参数,因此简单的 drawImage 调用就可以实现图像绘制。

对于自定义操作,我们仅希望删除对象。我们构建一个符合 mouseUpHandler 的函数,并在其中使用 javascript>canvas.remove(target)

Adding a clone control

我们来演示如何快速的控制去复制一个新的对象. 我们再次使用 javascript>new fabric.Control(options) ,并增加到名为 clone的键值中. 当对象缩小太多时,具有偏移的拐角看起来不太好,因此让我们让这个图标保持在边界框之外的顶部。

对于克隆复制功能,我们只需执行 javascript>target.clone(function(cloned) { canvas.add(cloned) });

Edit this page on Github
© 2024-2030 fabricjs.cc 版权所有 ICP证:陕ICP备19003267号-4