2009-08-18 17 views
1

XULRunnerアプリケーションで、HTML要素に2次元グラフィックスを表示したいと考えています。ウィンドウのサイズが変更されたときにそれらのグラフィックスを再描画できるようにしたいと思います。画面上の実際のサイズを反映していないcanvas要素のすべての「幅」と「高さ」プロパティのXULの柔軟なキャンバス

<box flex="1" id="canvas-box"> 
<html:canvas id="canvas" flex="1"> 

</html:canvas> 
</box> 

まず:レイアウトは次のようになります。これは、x方向の1単位がy方向の1単位とは異なることになり、ストロークが奇妙に伸びてしまいます。第二に、私はキャンバス上に置いているのか周囲の箱に置いているにせよ、私はonresizeイベントを起こすことはできません。

XULチュートリアルでは、XULアプリケーション内でHTML要素を使用するときに発生するレイアウトの不思議さがあると警告していますが、この場合は2Dグラフィックスが必要なため選択できません。すべてのポインタ?

EDITここでは、キャンバス要素の代わりにSVGを使用します。私はそれを試す予備段階にありますが、少なくともキャンバスには奇妙な「ストレッチ」問題はないようです。

答えて

0

XULにHTMLフレーム/ iframeを入れてそこにキャンバスを置くことはできませんか?

+0

私がそうしたときに正しくスケールされていないので、私はそう信じません。 SVGソリューションは、少なくとも、うまくいきました。 – wxs

0

私はonscaleだけが<ウィンドウで作業していると思ったので、キャンバスのサイズを変更してそこから再描画することができました。

関連する問題