私は、javascriptでSVGを処理するのに非常に便利なRaphaelJavascriptライブラリが本当に好きです。
しかし、私が理解していない生成されたsvgコードに追加されるオフセット値があります。誰かがそれがどこから来て、それを避ける方法を知っていますか?
これが私のJSコードです:
var paper = Raphael("canvas", 510, 510);
paper.clear();
paper.rect(0, 0, 500, 500, 10).attr({fill: "#fff", stroke: "black"});
生成されたSVGコードは
<div id="canvas">
<svg width="510" height="510">
<desc>Created with Raphaël</desc>
<defs/>
<rect x="0.5" y="0.5" width="500" height="500" r="10" rx="10" ry="10" fill="#ffffff" stroke="#000000"/>
</svg>
</div>
rectのx属性とy属性が0ではなく0.5であるのはなぜですか?
更新:値は以下のコードで丸められているようです:
var round = function (num) {
return +num + (~~num === num) * .5;
};
誰かがその理由を知っていますか?