在渲染文本元素之前如何设置文本字体?

时间:2019-02-20 15:00:01

标签: reactjs svg.js

我无法将文本元素放置在特定位置。根据{{​​3}}问题,添加文本元素后更改字体会使定位更加困难。

在我看来,如果我可以在调用match x with y -> f y之前设置字体,则定位将是正确的。

我可以这样做吗?怎么样?

谢谢。

更新:当我创建CodeSandBox来改进问题时,发现了一些奇怪的东西。检查一下:

this

我创建了一个与图像一样大的矩形,另一个矩形在每个边缘上缩小了20px,并将其放置在另一个内部,并且文本元素向下移动了20px。

它应与内部let y = x in f y对齐。但是,通过对其进行检查,可以看出它向下移动了不到20px。奇怪的是,当更改draw.text()的{​​{1}}参数时,它会垂直移动并捕捉到正确的位置!但是,当重新加载预览时,rect位置将恢复为错误位置。

少不了,它给了我一个主意...

1 个答案:

答案 0 :(得分:0)

我找到了一种解决方法,但是不确定它是否可靠。

draw.text('Hello, World!')
    .font({ family: 'font-print', size: 20 })
    .move(0, 0).dy(20).dx(60);

它在我共享的CodeSandBox中不起作用,但在我正在处理的实际项目中起作用。至少到目前为止。