小提琴http://jsfiddle.net/hxjZa/2/。我已经编写了代码来设置canvas元素的stroke和strokewidth。它们工作正常,但是当我将指针移动到resize Element时,设置了笔触宽度值后,它没有响应,并且自动缩小了。即使我尝试通过拖动来改变大小也不能很好地响应。

jQuery ::

   $('#glow_colour').spectrum({
        color : "#f00",
        change : function(color) {
            console.log(' color change' + color.toHexString());
            var temp=color.toHexString();
            var obj = canvas.getActiveObject();

            if (!obj)
                return;

             obj.set({  stroke: temp });
             obj.set({strokeWidth:strokewidth});
            canvas.renderAll();
        }
    });
$("#txt_g_strength").change(function()
{
    console.log('strength called');
    //alert("stength called");
    var obj = canvas.getActiveObject();
    var strokewidth=$(this).val();
            if (!obj)
                return;
obj.set({ strokeWidth: strokewidth});

            canvas.renderAll();

});


以上是设置笔触颜色和宽度的代码。

最佳答案

Fabric用一个数字表示笔划宽度,并且不会自动转换字符串。

更改:

    txt.set({
        strokeWidth: strokewidth
    });


至:

    txt.set({
        strokeWidth: +strokewidth  // or Number(strokewidth)
    });


Demo

09-19 22:05