嗨,我对fabric.js很新。
我需要将图像转换为纯黑白图像。所以我想在我的照片中使用纯黑色(#000000)和白色(#ffffff)(不是灰度!)
有人知道我怎么能用fabric.js做到这一点?
我使用fabric.js(版本1.7.16)和angular2。
随意问我是否忘记写一些重要信息:)
我尝试了“解决方法”。首先让它灰度,然后删除所有白色部分,最后添加一个色调过滤器,使其余部分变黑。有了我,我真的没有白色的部分,但当我使用白色背景时,我看起来像。
this.imageObject.filters[4] = new fabric.Image.filters.Grayscale();
this.imageObject.filters[5] = new fabric.Image.filters.RemoveWhite({
threshold: this.removeWhiteThreshold.toString(),
distance: 40
});
this.imageObject.filters[6] = new fabric.Image.filters.Tint({
color: '#000000',
opacity: 1
});
this.imageObject.applyFilters(this.canvas.renderAll.bind(this.canvas));
它有效,但我希望有更好的解决方案......
答案 0 :(得分:1)
版本2.0(测试版)支持blackWithe
过滤器
// manually initialize 2 filter backend to give ability to switch:
var webglBackend = new fabric.WebglFilterBackend();
var canvas2dBackend = new fabric.Canvas2dFilterBackend()
fabric.filterBackend = webglBackend;
// Your code...
this.imageObject.filters[0] = new fabric.Image.filters.blackWhite()