2012-02-08 29 views
1

Raphael 2でsetViewBox()関数を使用しています。幅と高さに(1.2,1.3 ...など)の値を乗算します。これは倍率/ズームを適切に変えますが、私が0,0として与えたxとyは、あるオフセット後にその内容を表示します。レンダリング(fi​​rebug !!を使用)後にxとyをいくつかの正の値に変更すると、用紙の左上が前後に動いて正しい位置に移動します。私は値がどのように計算されるのか知りたい。 x、yがどのようにビューボックスに影響を与えるかについてはわかりません。誰かが私にこれのためのポインタを与えることができれば、本当の助けになるでしょう。SetViewBoxで用紙を移動する

幅/高さを2で割った差を与えようとしました。また、画像をレンダリングしていないことを言及する必要があります。私の論文では、矩形、パスのテキストなど。

助けを楽しみにしています! Kavita

+0

いずれかが助けることができますか? – kavita

答えて

0

あなたは次のように0,0へのあなたのスケーリングの中心を置いた:これは左上隅の座標を移動することなく、あなたの要素を拡張することができ

element.scale(1.2,1.2,0,0); 

+0

申し訳ありません問題を解決しました... x、yの値に0,0を入れました。用紙のシフトのように見えるものは、用紙のオブジェクトが実際に拡大してコーナー部分が大きくなるように見えました。更新!皆さんのご意見ありがとうございます! – kavita

1

これはsetViewBoxの値を計算する方法の例です。jquery(SVGのコチインのXとY:$( "#" + map_name).offset()。leftと$( "#" map_name).offset()。top)その後、私は必要なズームを計算しました:

var original_width = 777; 
var original_height = 667; 
var zoom_width = map_width*100/original_width/100; 
var zoom_height = map_height*100/original_height/100; 
if(zoom_width<=zoom_height) 
    zoom = zoom_width; 
else 
    zoom = zoom_height; 
rsr.setViewBox($("#"+map_name).offset().left, $("#"+map_name).offset().top, (map_width/zoom), (map_height/zoom)); 
関連する問題