如何在 Blazor 中画一条线?

meJ*_*rew 5 javascript graphics canvas webassembly blazor

从字面上看,如何在 Blazor 中画一条线?我在 GitHub 上看过这个项目,它是 HTML 画布的包装器,我也看过这个问题,还有这篇文章,他们似乎通过 JavaScript 调用在画布上绘制,因此它基本上作为普通的 JS 代码执行.

我想知道是否有另一种方法可以像 Blazor 那样绘制线条和创建动画,并且应该具有接近本机的性能。

是否有 HTML 画布的替代方法并继续包装 JS 调用以创建像动画这样的绘制线,例如支持这种功能的官方东西?

Pos*_*rte 5

不,目前没有其他选择,而且 Blazor 没有为此内置任何内容。

Blazor 使用 Web 技术来呈现用户界面。

即使 Blazor 会提供一种内置的方式来绘制东西,但它只不过是一种基于画布或 WebGL 的有意见的 API。

尽管如此,我希望团队有一天会决定创建这样一个内置的 API 来在画布上绘图。这些绘图功能将使 Blazor 对许多用户更具吸引力。看看 p5js 的巨大成功以及 p5js 为 javascript 社区带来的新程序员的数量。

我认为 Blazor 团队承担这样的任务的可能性非常低,他们可能希望社区能够做到。然而,从 MS 获得出色的 Windows 图形渲染库的机会也非常低,我们让 Shawn Hargreaves 创建了令人敬畏的 Win2D 库。所以让我们保持手指交叉!

  • 这是 WebAssembly 技术的一个基本限制。WebAssembly 没有这方面的 API,所以这意味着需要 JavaScript。无论您提供什么抽象,最终结果都将基于 JavaScript,直到为 WebAssembly 提供可直接访问的 API。这不是“Blazor 问题”。 (7认同)
  • 我真的希望有一天有人会编辑这个答案,说还有另一种方法,MS 甚至社区构建了一个集成在 Blazor 中的图形 API,但在那之前,我们将使用我们拥有的东西。 (2认同)