0

SVG の変換座標を X 変数と Y 変数に解析する最良の方法を探しています。変換座標は、 format の文字列属性に格納されます "translate(32.84441676851017 11.803819679481) rotate(0)"$x=32.84441676851017値とを解析する必要があります$y=11.803819679481

これまでのところ、私はこの自己記述関数を使用していますが、これを解析するより高速な方法があると思いますか?

private function _get_string_between($s, $str1, $str2) 
{
    $start = strpos($s, $str1);
    if ($start === false) {
    return '';
    }

    $start += strlen($str1);
    $end = strpos($s, $str2, $start); 
    if ($end === false) {
    return '';
    }

    return explode(' ', substr($s, $start, $end - $start));
}    
4

2 に答える 2

2

d3.transform(string)を使用

例:

 var theta = d3.transform($("#svg-element").attr("transform")).rotate;
于 2012-11-26T22:22:26.110 に答える
1

文字列内から float 値を読み取ることができる scan 関数があります。

sscanf($string, 'translate(%f %f) rotate(0)', $x, $y);

sscanfデモを見る

于 2012-06-02T09:15:09.003 に答える