虽然 DOM 仍然完全主导着我们创建 UI 的方式,但创建一堆完全基于 Canvas 的 UI 组件(如按钮、列表、水平/垂直组等)是否有意义?
我知道肯定会有很多缺点,但是这样的可能优点是什么?
一方面,我想说的是总体上与 Canvas 的视觉集成会更加紧密。
最佳答案
Zebra项目创建了一个完整的组件集,该组件集被呈现为 HTML5 canvas 元素。这是组件采样器的屏幕截图。我没有使用过该框架,但它应该让您了解不同浏览器呈现 UI 组件的能力。
旋转组件并检查线条渲染(抗锯齿)的质量,这取决于您使用的浏览器而有很大差异。以下是有关该问题的更多信息:
- HTML5 Canvas avoid any subpixel rendering
- Poor anti-aliasing of text drawn on Canvas
- Subpixel anti-aliased text on HTML5's canvas element
另一个项目是 Makepad,一个基于 webGL worker 的库和实时代码编辑器。 UI 的每个可见部分都在 WebGL 中呈现,包括屏幕上的所有文本,通过集成的文本呈现引擎呈现。
该项目仍处于早期阶段,但您可以试用 live demo here . Makepad 是开源的,可以在 github.com/makepad/makepad.github.io 找到 Git 存储库。 .
关于javascript - 创建基于 Canvas 的 UI 组件是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6856953/