使用 fabric.loadSVGFromString 扭曲的结果

Distorted result with fabric.loadSVGFromString(使用 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 扭曲的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)