Distorted result with fabric.loadSVGFromString(使用 fabric.loadSVGFromString 扭曲的结果)
问题描述
我用inkscape编辑了一个SVG:
I've edited an SVG with inkscape :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2816" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs2818"></defs>
<metadata id="metadata2821">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g id="layer1" stroke-linejoin="miter" stroke="#ce3762" stroke-linecap="butt">
<path id="path2828" style="stroke-dasharray:none;" d="M40,3,35,3,20,18,10,18s-5,5,0,10h10l15,15h5v-40z" transform="translate(-5,0)" stroke-miterlimit="4" stroke-width="0.5" fill="#42101e"/>
<path id="path2830" d="m37,13s2,7.5359,0,15" transform="translate(0,2)" stroke-width="1px" fill="none"/>
<path id="path2834" d="m40,11s3,10,0,19" transform="translate(0,2)" stroke-width="1px" fill="none"/>
<path id="path2836" d="m43,6s6,14,0,29" transform="translate(0,2)" stroke-width="1px" fill="none"/>
</g>
</svg>
应该是这样的:
当我用 fabricjs 导入它时:
When I import it with fabricjs :
// volumeOnPrint is the string pasted before
fabric.loadSVGFromString(volumeOnPrint, function(objects, options) {
var widget = new fabric.PathGroup(objects, options);
// root is my fabricjs canvas
root.add(widget);
});
它明白了:
(背景不是问题,这是我的画布)
(The background is not the issue, it's the one of my canvas)
推荐答案
原来这是 Fabric 中的一个错误.
Turns out this was a bug in Fabric.
我只是修复它并推送新版本(0.9.21).
I just fixed it and pushed new version (0.9.21).
通常,使用 Inkscape 创建的 SVG 文件比使用 Illustrator 创建的文件更难解析.但我们正在变得越来越好:)
Generally, SVG files created with Inkscape are harder to parse than those created with Illustrator. But we're getting better and better :)
有一个不断增长的 可视化测试套件,我在其中添加了您的形状以避免将来出现回归(让我知道这是否可以).小心,因为加载/解析所有形状可能需要一段时间.
There's a growing visual test suite, to which I added your shape to avoid regressions in the future (let me know if that's OK). Careful as it might take a while to load/parse all the shapes.
这篇关于使用 fabric.loadSVGFromString 扭曲的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 fabric.loadSVGFromString 扭曲的结果
基础教程推荐
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 直接将值设置为滑块 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01