2015-11-05 59 views
0

我有一个图像,我想在同一图像上应用亮度和对比度。如果我简单地应用亮度,但如果我用对比度,它不起作用;图像变黑。 我尝试过使用图层;它没有工作。 我试图在图层中渲染,然后渲染它。它也没有工作。 我试图呈现每个过滤器;一样。 我已经尝试过,先应用对比度,然后再应用亮度;图像变成灰色。 我试过this.revert()和this.revert(false).Nope。camanjs的多个过滤器不工作

我在做什么错?我想在他们的网站上的示例部分进行设置:http://camanjs.com/examples/ PS,亮度和对比度值来自两个范围输入。

的代码是:

$('#brightI,#contrastI').on('input change', function(){ 
 

 
    var bright= document.getElementById("brightI").value; 
 
    var contrast= document.getElementById("contrastI").value; 
 

 
    $('#brightnessValue').text(bright); 
 
    $('#contrastValue').text(contrast); 
 
     Caman("#test", function() { 
 
      this.revert(false); 
 
      this.contrast(contrast); 
 
      this.newLayer(function() 
 
      { 
 
       this.setBlendingMode('multiply'); 
 
       this.copyParent(); 
 
       this.filter.brightness(bright); 
 
      }) 
 
     this.render(); 
 
}); 
 
});

回答

0

你可以试试这个代码。

$('#brightI,#contrastI').on('change', function(){ 
    var bright= document.getElementById("brightI").val(); 
    var contrast= document.getElementById("contrastI").val(); 

    $('#brightnessValue').val(bright); 
    $('#contrastValue').val(contrast); 
     Caman("#test", function() { 
      this.revert(false); 
      this.contrast(contrast); 
      this.newLayer(function() 
      { 
       this.setBlendingMode('multiply'); 
       this.copyParent(); 
       this.filter.brightness(bright); 
      }) 
     this.render(); 
}); 
}); 

我做(在另一个元素u可以使用的.html() “不投入”)改变)的​​结合事件和 “文本” 更改为VAL(

.on('input change', function(){ 
.on('change', function(){ 

我根本没见过从不“输入”事件:)祝你好运