我正在尝试为图像使用过滤器,特别是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”
答案 0 :(得分:0)
删除颜色仅适用于fabric 2.0,并且是从removeWhite创建的。
您必须切换到fabricjs 2才能使用它。
http://fabricjs.com/v2-breaking-changes#image
在此链接中,您可以找到有关如何转换图像和过滤器的信息,以及您应该知道的事项。