面料js使图像纯黑白单色(只有两种颜色)

时间:2017-07-20 09:19:30

标签: javascript fabricjs monochrome

嗨,我对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));

它有效,但我希望有更好的解决方案......

1 个答案:

答案 0 :(得分:1)

Image Filters fabricjs 2.0 beta

版本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()