给svg对象一个描边
Give a stroke to svg objects
大家好,
我试图给织物中的svg对象在边界框周围描边。不幸的是
obj.set({
'stroke': 'red',
'strokeWidth': 2
});
无法工作,即使使用。
更新后也无法工作。obj.setCoords();
canvas.renderAll();
所有其他属性,如填充或角度似乎工作。有人遇到过这个问题并知道如何解决吗?
谢谢你塞巴斯蒂安。
编辑:这就是我加载svg的方式:
var group = [];
var loadedObjects;
fabric.loadSVGFromURL(
'bla.svg',
function(objects, options) {
loadedObjects = new fabric.Group(group);
},
function(item, object) {
object.set('id', item.getAttribute('id'));
group.push(object);
}
);
fabricjs不支持group或pathGroup的边框绘制。你能做的是将svg作为路径组加载。一旦它被加载创建一个矩形具有相同的宽度和高度,给他相同的顶部和左侧。描边矩形并将它们组合在一起:
fabric.loadSVGFromURL(
'bla.svg',
function(objects, options) {
var svg = fabric.util.groupSvg(objects, options);
var rect = new fabric.Rect({width:svg.width, height: svg.height, top:svg.top, left: svg.left, stroke: 'red', strokeWidth: 5});
group = new fabric.Group([svg, rect]);
canvas.add(group);
}
);
相关文章:
- 将SVG元素拖动到另一个SVG元素上
- d3日历视图:如何将所有内容放在一个svg中,而不是放在几个svg中
- 如何将这两个图表放入一个SVG中
- 部分位于另一个SVG元素下方的SVG元素
- D3-使用一个SVG点击事件来影响另一个
- Svg文本元素被另一个Svg元素重叠
- 更改 <对象> 标记的属性,该标记使用 jQuery 包含一个 SVG 元素
- 如何将 svg 图像附加到另一个 svg 图像的矩形元素
- 如何在多个位置绘制svg,在另一个svg图像的顶部
- 如何在d3,js中的另一个svg之上添加svg
- 如何通过单击命令将一个SVG路径元素变形为另一个
- 嵌套在另一个SVG元素中的SVG元素的大小为0px*0px
- Snap.load()一个svg img并为其填充颜色设置动画's子节点
- RaphaelJS:在另一个SVG元素上绘制一条路径
- 在具有类的另一个SVG元素之前插入SVG元素
- 在一个 svg 中对图表的多个容器进行 D3 缩放行为
- 我可以将页面上已经存在的svg添加到另一个svg中吗
- 从 JavaScript 中获取一个 SVG 文件作为字符串
- 我如何使用一个svg文件与许多单独的svg's在html5中
- 我如何创建一个svg精灵,然后获得每个svg的坐标