如果我理解正确,您想要应用一些过滤器并使用其他效果,例如亮度和对比度等。
我编写了一些代码,可以根据您的需求工作。
Caman('#canvas-camanImage',"./../media/caman.png", function () {
this.revert(false);
for(var i = 0 ;i<selectedPresets.length;i++){
this[selectedPresets[i]]();
}
for(var key in effect){
this[key](effect[key].value);
}
this.render(function () {
});
在上面的代码中,我将所有效果(如亮度、对比度)存储在effect变量中,例如:effect = {
brightness : {
min : -100,
max: 100,
value : 0
},
contrast : {
min : -100,
max: 100,
value : 0
},
saturation : {
min : -100,
max: 100,
value : 0
}
};
并将预设存储在一个数组中。
presets = [
{filter:'vintage',name : 'Vintage'},
{filter:'lomo',name:'Lomo'},
{filter: 'clarity', name:'Clarity'},
{filter:'sinCity', name:'Sin City'}
];
所以每次您添加任何预设或更改任何效果值时,我都会更改变量中的值并重新渲染画布。
对我来说它运作得非常好。
如果您有其他问题,请告诉我。