2012-02-02 114 views
1

我在这个问题上对这个问题的兴趣大都是理论上的。在索引数据库中存储图像数据

我想在本地存储图像(用于webgl纹理),例如我已经用于存储网格的indexedDB。

这可能吗?如果是的话那怎么样?这是一个好主意吗?

回答

1

你当然可以使用indexedDB来存储纹理。您需要存储宽度和高度,是否有Alpha通道和RGB(A)值的数组。然后您可以直接从中创建纹理,如this question的答案中所示。

至于这是一个好主意,这是一个棘手的问题。你为什么要这样做?速度?资源访问的一致性?由于浏览器开发人员已经优化了该路线,因此索引数据库存储设备通常会存在一些限制,从而难以存储大量资源,并且从图像坦率地加载可能会更快。此外,图像实际上会比JPEG或PNG等效的数据库更大,因为您可能需要将其存储为未压缩。这是值得进行基准测试的,但是我怀疑这里的表现胜过很多。

1

您应该能够通过转换或将其作为base64图像存储在indexedDb中的图像。

请记住,每个站点的数据库只有5Mb的限制,除非您在Manifest中指定了unlimited,但它需要用户授权。