1
虽然我看到了几种将滤镜应用于图像的方法,但我还没有看到任何将滤镜滤镜应用于整个画布的方法。从http://fabricjs.com/fabric-intro-part-2/Fabric.js:如何将滤镜应用于整个画布?
fabric.Image.fromURL('pug.jpg', function(img) {
// add filter
img.filters.push(new fabric.Image.filters.Grayscale());
// apply filters and re-render canvas when done
img.applyFilters(canvas.renderAll.bind(canvas));
// add image onto canvas
canvas.add(img);
});
欲图像滤波函数 的
实施例在整个画布元件和传递所有的形状内部和过滤器适用于所有。
我是否需要平铺画布,将其转换为图像,然后应用滤镜?用户可以在平铺和应用之后进行更改,画布必须分离回“图层”,以便用户可以继续编辑。
GreyScale过滤器的文档。 http://fabricjs.com/docs/symbols/fabric.Image.filters.Grayscale.html
我用这个功能,但画布是空的。我在DevTool中进行检查,Fabric使用'upper-canvas'类添加新画布,它也是空的! 我不知道为什么?我修改顶部函数,而不是使用'canvas'作为全局变量,我使用新的 - 'var canvas = new fabric.Canvas('canvas_DOM_id')' – Davuz