FabricJS:fabric.Image.filters.RemoveColor不是构造函数

时间:2017-12-29 15:04:14

标签: fabricjs

我正在尝试为图像使用过滤器,特别是RemoveColor过滤器。

我有这个为Invert工作......

var object = canvas.getActiveObject();
var filter = new fabric.Image.filters.Invert();
object.filters.push(filter);
object.applyFilters(canvas.renderAll.bind(canvas));

但是将此代码用于RemoveColor ...

var object = canvas.getActiveObject();
var filter = new fabric.Image.filters.RemoveColor({
  color: color.rgb,
  threshold: this.props.currentRemoveColorDistance,
});
object.filters.push(filter);
object.applyFilters();
canvas.renderAll();

返回此错误...

  

未捕获的TypeError:fabric.Image.filters.RemoveColor不是   构造

如果我console.log(fabric.Image.filters),我可以看到RemoveColor属性确实丢失了,但是有一个RemoveWhite而不是......

BaseFilter
Blend
Brightness
ColorMatrix
Contrast
Convolute
GradientTransparency
Grayscale
Invert
Mask
Multiply
Noise
Pixelate
RemoveWhite
Resize
Saturate
Sepia
Sepia2
Tint

尝试RemoveWhite之后,它可以正常工作,但当然只删除了白色,这不是我想要的。

RemoveColor在哪里?

我正在使用npm“fabric”:“^ 1.7.22”

1 个答案:

答案 0 :(得分:0)

删除颜色仅适用于fabric 2.0,并且是从removeWhite创建的。

您必须切换到fabricjs 2才能使用它。

http://fabricjs.com/v2-breaking-changes#image

在此链接中,您可以找到有关如何转换图像和过滤器的信息,以及您应该知道的事项。