我有一个XULRunner应用程序,我希望在HTML元素中显示2d图形。我希望能够在窗口调整大小时重新绘制这些图形。布局看起来像这样:
<box flex="1" id="canvas-box">
<html:canvas id="canvas" flex="1">
</html:canvas>
</box>
首先,canvas元素的“width”和“height”属性不会反映其在屏幕上的实际大小。这导致笔划奇怪地伸出,因为x方向上的1个单元在y方向上最终不同于1个单元。其次,无论是把它放在画布上还是放在周围的盒子上,我都无法触发onresize事件。
XUL教程确实警告说,当你在XUL应用程序中使用HTML元素时会出现布局怪异,但在这种情况下我没有选择,因为我需要2D图形。有什么指针吗?
编辑目前我将在canvas元素的位置使用SVG。我正在尝试尝试它的初步阶段,但至少它似乎没有画布所具有的奇怪的“拉伸”问题。
答案 0 :(得分:0)
难道你不能在XUL中放一个HTML框架/ iframe并将画布放在那里吗?
答案 1 :(得分:0)
我认为onresize仅适用于&lt; window&gt;,您可以调整画布大小并从那里重新绘制。