使用camanjs的多个过滤器不起作用

时间:2015-11-05 12:52:00

标签: jquery filter brightness contrast camanjs

我有一张图片,我想在同一张图片上应用亮度和对比度。如果我只是应用亮度,但如果我应用对比度,它不起作用;图像变黑。 我尝试过图层;它没有用。 我试图在图层中渲染,然后渲染它;它也没有用。 我试图渲染每个过滤器;一样。 我首先尝试简单地应用对比度,然后应用亮度;图像变灰。 我试过this.revert()和this.revert(false)。没有。

我做错了什么?我想在他们的网站上的示例部分做出类似的结论: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();
});
});




1 个答案:

答案 0 :(得分: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();
});
});

我确实更改了一个绑定事件,并且“text”更改为val()(你可以在另一个元素中使用.html()“not inputs”)

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

我没有看到从未“输入”事件:)祝你好运