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