过滤器将jquery-ui滑动器事件加倍后,渲染画布时出现问题

时间:2019-02-06 00:33:53

标签: jquery jquery-ui fabricjs2

我正在将一个应用程序从fabricjs 1.7迁移到2.4.6(最新)

我有一个与fabric.js和各种jquery-ui滑块绑定的canvas元素 画布上的元素具有一组2个过滤器。

在jquery-ui滑块滑动事件上,我更改了过滤器(卷积和亮度过滤器)值,应用了过滤器并渲染了元素(通过fabricjs的api)。但是,该更改不会立即得到反映。

即很明显,如果单击滑块中的某个位置,因为图像不会改变。但是,如果我用鼠标移动元素,或执行一些其他不包括应用滤镜的操作(例如更改Alpha,缩小,增长或旋转),则该元素将更新,并且我会看到应用滤镜的效果。 如果单击滑块中的其他位置,则会看到应用了以前的值过滤器,但没有看到最后一个。

fabricjs 1.7不会发生这种情况。

我尝试了jquery-ui滑块的各种事件。我怀疑由于某种原因,使用jquery-ui会阻止更新画布...

function setImageBrightness(imagen, brightness) {
    imagen.filters[1]['brightness'] = brightness;
    imagen.applyFilters();
    canvas.renderAll();
}
$("#brilloIzquierdo").slider({
        min : -255,
        max : 255
});
$("#brilloIzquierdo").on("slide", function(event, ui) {
        brillo = ui.value;
        $("#vBrilloIzq").text(brillo);
        setImageBrightness(canvas.item(idxIzquierdo), brillo);
});

当我单击滑块中的某个位置时,应立即应用新的过滤器来更新画布。

0 个答案:

没有答案