【问题标题】:Flexible canvas in XULXUL 中的灵活画布
【发布时间】:2009-08-18 20:13:02
【问题描述】:

我有一个 XULRunner 应用程序,我想在 HTML 元素中显示 2d 图形。我希望能够在窗口调整大小时重新绘制这些图形。布局看起来像这样:

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

</html:canvas>
</box>

首先,画布元素的“宽度”和“高度”属性并不能反映其在屏幕上的实际大小。这会导致笔画奇怪地拉伸出来,因为 x 方向上的 1 个单位最终与 y 方向上的 1 个单位不同。其次,无论我是把它放在画布上还是放在周围的盒子上,我都无法触发 onresize 事件。

XUL 教程确实警告说,当您在 XUL 应用程序中使用 HTML 元素时会出现布局异常,但在这种情况下,我别无选择,因为我需要 2d 图形。有什么指点吗?

编辑 现在我将使用 SVG 来代替 canvas 元素。我正处于尝试的初步阶段,但至少它似乎没有画布所遇到的奇怪的“拉伸”问题。

【问题讨论】:

    标签: xul xulrunner


    【解决方案1】:

    难道你不能在 XUL 中放一个 HTML 框架/iframe 并将画布放在那里吗?

    【讨论】:

    • 好吧,我不这么认为,因为当我这样做时,它似乎无法正确扩展。至少,SVG 解决方案运行良好。
    【解决方案2】:

    我认为 onresize 仅适用于 ,您可以调整画布大小并从那里重新绘制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      • 2011-12-16
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      相关资源
      最近更新 更多