我正在用 raphael 创建一个图像,它生成的 SVGfor paper.text()
添加了一个<tspan dy="number">
“数字”是基于 Attr(font-size:n) 的数字
有人可以告诉我这个数字是如何计算的,因为我需要知道,因为我使用什么将序列化数据发送到服务器toJSON()
(用于 raphael 的第 3 方插件,称为 ElbertF / Raphael.JSON)并在服务器上重新创建 SVG 文本总是由此而出dy="number"
该dy
值似乎也与文本的y
属性相关联,就好像我将值四舍五入一样,y
该dy
值也被四舍五入到最接近的 0.5
例如:
textEmement = paper.text(Math.round(x_positionOfText),
Math.round(y_positionOfText));
textEmement.attr({ "font": "",
"fill": fontColour,
"font-family": "Arial",
"text-anchor": "middle",
"font-size": 17});
使->
<text style="text-anchor: middle; font-family: Arial; font-size: 17px;" x="161" y="48" text-anchor="middle" font="" stroke="none" fill="#ffffff" font-family="Arial" font-size="17px">
<tspan dy="5.5">Text 3</tspan>
</text>
Math.round()
从y_positionOfText
品牌中移除
<text style="text-anchor: middle; font-family: Arial; font-size: 17px;" x="161" y="48.188976378525" text-anchor="middle" font="" stroke="none" fill="#ffffff" font-family="Arial" font-size="17px">
<tspan dy="5.501476378524998">Text 3</tspan>
</text>
注意y="48"
给予dy="5.5"
但y="48.188976378525"
给予dy="5.501476378524998"
这要杀了我!拉斐尔为什么要这样做,怎么做!?