0

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

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

4

1 回答 1

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();
});
});

我确实更改了绑定事件,并且“文本”更改为 val()(您可以在其他元素“非输入”中使用 .html())

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

我从来没有见过“输入”事件:)祝你好运

于 2015-11-05T13:05:05.557 回答