我正在使用fabricJS。在画布上处理图像时,我想增加,降低图像的亮度。为此,我使用复选框选择亮度效果,然后显示亮度范围选择器,以便用户可以选择应用于图像的亮度值。现在,当我单击图像增加的复选框亮度时,增加滑块增加亮度但增加后,我向下更改滑块以降低亮度,图像不会随着亮度降低而变回,它变成白色......
HTML 代码:
<input type="checkbox" id="image-bright" unchecked> Brightness <br />
<div class="brightValue" style="display:none;"> Value:
<input type="range" id="bright-value" value="0" min="0" max="255" step="1" class="span22">
</div>
JS:
var imagebright=document.getElementById("image-bright");
imagebright&&(imagebright.onclick=function(){
if(this.checked){
$('.brightValue').show();
var cimg=canvas.getActiveObject();
cimg&&"image"===cimg.type&&(
cimg.filters.push(new fabric.Image.filters.Brightness({brightness: parseInt($('#bright-value').value, 10)})),
cimg.applyFilters(canvas.renderAll.bind(canvas)));
}
else {
$('.brightValue').hide();
}
});
var brightvalue=document.getElementById("bright-value");
brightvalue.onchange = function(){
var cimg=canvas.getActiveObject();
cimg.filters.push(new fabric.Image.filters.Brightness({brightness: parseInt(this.value, 10)}));
cimg.applyFilters(canvas.renderAll.bind(canvas));
};
一旦增加亮度,然后减少滑块中的亮度值,而不是降低图像的亮度。当我取消选中时,选中亮度复选框,它每次都会增加亮度。取消选中亮度复选框后,我想完全关闭亮度效果,即对图像没有亮度效果。请指导我在哪里更改代码。