5
我想添加对比度作为过滤器KineticJS(我知道,它不是技术上的过滤器)。它的工作原理,但我也想添加contrast()
修改器(如noise()
噪声滤波器等)。延伸KineticJS - 自定义筛选器
这里是我的功能(包括KineticJS 5.0.1库后):
(function() {
Kinetic.Filters.Contrast = function(imageData) {
var data = imageData.data,
len = data.length,
i,
adjust = this.contrast(),
x = [];
//[cut] processing, not important here
};
Kinetic.Factory.addGetterSetter(Kinetic.Node, 'contrast', 0, null, Kinetic.Factory.afterSetFilter);
})();
正如你所看到的,Kinetic.Factory.addGetterSetter
应该提供我contrast()
修改,但事实并非如此。当我运行代码时,结果是TypeError: imgs.contrast is not a function
:
imgs.filters([Kinetic.Filters.Contrast]);
imgs.contrast(30);
我在做什么错?
//更新
我的临时解决方案:只需将我的函数放入kineticJS文件。不完美,但它的工作原理。
从技术上讲,您的解决方案是可以的,但我的画布上有很多动态添加的对象。所以这很难实现,我认为对我来说性能不够好(但我没有做任何测试)。我的临时解决方案:只需将该函数放入kineticJS文件。不完美,但它的工作原理。 – czachor