ウィンドウのサイズ変更に合わせてラファエルの紙(オブジェクトベース)のサイズを変更したい。[Firefox_13.0、Raphael_2.1.0、WindowsXPを使用]
可能であれば、全画面モードに合わせたいと思います。
==================================================
(ステップ)
私は紙を作成しました: paper = Raphael(0, 50, 800, 600); // 初期の幅と高さは 800 と 600 です。
紙の上に物を置いた。
ブラウザーのウィンドウ サイズは、windowW = window.innerWidth および winnowH = window.innerHeight (Firefox の場合) によってチェックされます。
スケーリング値は、sv = windowW/800; によって計算されます。
そして、紙を paper.scale(sv, sv); でスケーリングします。
==================================================
(スクリプト)
window.onload = 関数 () {
paper = Raphael(0, 50, 800, 600);
var background = paper.rect(0, 0, 800, 600).attr({fill:'#669999'});
// placing the objects
var circle = ...;
var rect = ...;
var ellipse = ...;
winowW = window.innerWidth;
winowH = window.innerHeight;
sv = winowW/800.
paper.scale(sv, sv);
}
==================================================
(結果)
circle.scale(sv)、rect.scale(sv, sv)、ellipse.scale(sv, sv) は有効ですが、paper.scale(sv, sv)、background.scale(sv, sv) は有効ではありません。
なぜこのケースが起こったのですか?window.onresize = function() {...} でウィンドウサイズをリアルタイムで取得できます。もっと良い方法があれば教えてください。
ありがとう、