有没有办法使用loadSVGFromURL更改放置在画布上的布料中的svg的颜色?svg只是一个箭头,如果我无法设置填充或描边,我可以使用过滤器吗?
$("input:radio[id='arrow']").click(function() {
fabric.loadSVGFromURL('../scripts/svg/arrow.svg', function(objects) {
var group = new fabric.PathGroup(objects, {
left: 165,
top: 100,
width: 295,
height: 40,
fill: colourSet
});
canvas.add(group);
canvas.renderAll();
});
});
Run Code Online (Sandbox Code Playgroud)
Kie*_*enz 17
var colorSet = '#00FFFF';
$("input:radio[id='arrow']").click(function() {
fabric.loadSVGFromURL('../scripts/svg/arrow.svg', function(objects, options) {
var shape = fabric.util.groupSVGElements(objects, options);
shape.set({
left: 165,
top: 100,
width: 295,
height: 40
});
if (shape.isSameColor && shape.isSameColor() || !shape.paths) {
shape.setFill(colorSet);
}
else if (shape.paths) {
for (var i = 0; i < shape.paths.length; i++) {
shape.paths[i].setFill(colorSet);
}
}
canvas.add(shape);
canvas.renderAll();
});
});
Run Code Online (Sandbox Code Playgroud)
仅当所有路径具有相同颜色时,fabric.PathGroup对象上的函数setFill才有效:https: //github.com/kangax/fabric.js/blob/master/src/path_group.class.js#L99
| 归档时间: |
|
| 查看次数: |
13165 次 |
| 最近记录: |