我在使用我的项目fabricJS和我有问题来更改笔触颜色和宽度。我的页面上有一些SVG文件,点击后用户可以将此SVG添加到画布并修改其属性。填补它完美的作品,但与中风我不能这样做。这是补码,它是工作的好:Fabric.js:笔画颜色和宽度svg文件在画布上的问题
function setImageColor(element)
{
var activeObject = canvas.getActiveObject(),
color = "#"+element.value;
console.log(color)
console.log(activeObject)
activeObject.set({fill : color});
canvas.renderAll();
}
jscolor.addEventListener('change', function()
{
setImageColor(this);
});
这里是在画布上加载SVG元素代码:
shapes.forEach(function(e)
{
e.addEventListener("click", function()
{
var src = e.src;
fabric.loadSVGFromURL(src, function(objects, options)
{
var obj = fabric.util.groupSVGElements(objects, options);
canvas.add(obj).renderAll();
obj.scaleToHeight(127)
.scaleToWidth(90)
.center()
.setCoords();
canvas.setActiveObject(obj).renderAll();
});
});
});
这里是行程的代码,它不工作:
function setStrokeColor(element)
{
color = "#"+element.value;
var obj = canvas.getActiveObject();
console.log(color)
console.log(activeObject)
activeObject.set({stroke : color, strokeWidth: 5});
canvas.renderAll();
}
var stroke = document.getElementById("stroke");
console.log(stroke)
stroke.addEventListener('change', function()
{
setStrokeColor(this);
});
你可以添加你的SVG吗?我猜测SVG需要修改才能让你“中风”。在过去,我必须让我的图形艺术家(使用Adobe Illustrator)在导出时进行调整,以便格式不同,从而使其可以在HTML 5画布对象中更好地发挥作用 - http://graphicdesign.stackexchange.com/questions/15475 /转换原语到路径-使用-SVG格式-在插画。 –
我也使用Adobe Illustrator来创建svg文件。关于来自AI的fidlejs代码。我要制作很多形状,像飞机或花朵那样困难重重。 https://jsfiddle.net/ck75a2r3/ – Agata
HTML 5 Canvas可能不喜欢Circle,尝试从Adobe导出为路径... http://graphicdesign.stackexchange.com/questions/15475/convert-primitive-to-path-使用svg格式的插画 –