私はラファエルで画像を作成していますが、それが生成するSVGは 、「数値」がAttr(font-size:n)に基づく数値でfor paper.text()
ある場合に追加します。<tspan dy="number">
toJSON()
シリアル化されたデータをサーバーに送信し(ElbertF / Raphael.JSONと呼ばれるラファエルのサードパーティプラグイン)、サーバー上でSVGを再作成するため、この数値がどのように計算されるかを誰かに教えてもらえますか?テキストは常にこれで出てdy="number"
値は、値を四捨五入したかのようdy
にテキストのy
属性にもリンクされているようです。値も0.5に最も近い値に四捨五入されます。y
dy
たとえば、次のようになります。
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"
これは私を殺しています!なぜラファエルはこれをどのように行うのですか!?