为什么文本总是以画布为中心

时间:2012-10-23 20:35:39

标签: text svg fabricjs

加载SVG并将其渲染到画布时,路径组中包含的文本始终居中。在下面的示例中,文本应放在左上角。

SVG:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     width="269.29px" height="269.29px" viewBox="0 0 269.29 269.29" xml:space="preserve">
<text transform="matrix(1 0 0 1 7.5107 14.2222)" font-family="Arial" font-size="12">Text in the corner</text>
</svg>

JS:

fabric.loadSVGFromURL(uri, function (svg, options) {
            var group = new fabric.PathGroup(svg, options);
            canvas.add(group);
        });

路径组中的任何矩形,圆形等都将按预期显示。那么为什么我的文字显示不正确呢?

1 个答案:

答案 0 :(得分:0)

我没有使用fabric.js,但您可能错过了xy属性。另外,添加text-anchor="start"以便更容易定位:

<text transform="matrix(1 0 0 1 7.5107 14.2222)" font-family="Arial" font-size="12" text-anchor="start" x="0" y="0">Text in the corner</text>