在Fabric JS中使用自定义过滤器 - 获取原始过滤器

时间:2016-05-25 20:07:46

标签: fabricjs

我一直在使用Fabric JS中的自定义过滤器。但我只是不知道如何撤消所做的任何事情。看起来像素会被过程覆盖,这很好,但我该如何回到原点呢?代码项目启动器在这里: https://github.com/pixolith/fabricjs-async-web-worker-filters

因此,在自定义过滤器中,结果将按如下方式放入画布:

imageDataArray.forEach( function( data ) {
    cacheCtx.putImageData( data.data, 0, data.blocks );
} );

显示渲染中处理过的图像。但是,我不明白如何回归"原本的。我在处理之前尝试了这个:

var obj = canvas.getActiveObject();
var originalSource = obj._originalElement.currentSrc; // restore the original since filters trash the canvas
obj.filters[index] = filter;
obj.applyFilters(canvas.renderAll.bind(canvas)); 

但它没有"得到它"。我真的不希望每次重新加载图像,因为它们有时很大。任何帮助赞赏。

1 个答案:

答案 0 :(得分:0)

如您所述,obj._originalElement是您首次加载的图片的ORIGINAL元素。没有理由重新加载它,你有它。准备在画布上粉碎。 所以,只需执行obj.element = obj._originalElement,即可在canvas.renderAll();

之后恢复原状
相关问题