问题描述
我想使用Fabric.js将滤镜应用于全彩色图像,以模拟仅使用一种颜色的墨水打印图像时的外观。非常类似于灰度,但是具有任意的基色而不是灰色。到目前为止,我的方法是将图像转换为灰度,然后使用BlendColor调整亮度并应用色调或叠加。该解决方案倾向于产生太暗或褪色的图像。技术上最正确/最准确的方法是什么?
这是我到目前为止尝试过的:
var grayscale = ThirdPartyLibrary.getFilter('grayscale'); // using the grayscale filter from another lib
var brightness = new fabric.Image.filters.Brightness({
brightness: 0.2
});
var tint = new fabric.Image.filters.BlendColor({
color: '#3b7998',mode: 'tint',alpha: 0.5
});
element.applyFilters([grayscale,brightness,tint]);
任何输入都值得赞赏,即使只是基本方法,我也可以弄清楚如何在Fabric.js中实现过滤器。