我开发了一个交互式音频可视化引擎。我需要使用各种 PPI 使其 GUI 可扩展到各种屏幕尺寸(这包括非常大的屏幕和移动设备)。设计师只是给我发了一个 PSD,其中包含支持的小部件的图形表示。我将这些导出为 PNG。问题是这些位图当然是不可扩展的,而且看起来很丑。
我想了几种方法来实现分辨率和 PPI 独立的 GUI:
- 导出各种大小的 PNG 并在运行时选择当前集(仅用于存储各种分辨率的位图浪费空间)
- 仅使用比例 9 图像(没有花哨的东西)
- 使用 SVG(渲染 API 不支持,可以为 OpenGL 使用 nanovg 之类的东西,但是如何处理原始帧缓冲区呢?,还有性能问题和我需要的过于复杂的东西)
我想到了在运行时为特定设备预生成位图一次然后使用它们的想法。是否有任何特定的库,或者我现在可以使用的已经可用的主题?我想通过读取命令列表和输出位图,该工具的工作方式类似于 cairo 图形库或 javascript canvas 的工作方式。还有其他想法吗?