Хранение данных изображения в indexedDB - PullRequest
1 голос
/ 02 февраля 2012

На данный момент мой интерес к этому вопросу в основном теоретический.

Я бы хотел хранить изображения (для текстур webgl) локально, например, с indexedDB, который я уже использую для хранения сеток.

Возможно ли это?если так то как?и это хорошая идея?

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Вы, конечно, можете использовать indexedDB для хранения текстуры. Вам нужно будет хранить ширину и высоту, независимо от того, есть ли у него альфа-канал и массив значений RGB (A). Затем вы можете создать текстуру непосредственно из этого, как показано в ответе на этот вопрос .

Что касается хорошей идеи, это более сложный вопрос. Зачем ты это делаешь? Скорость? Равномерность доступа к ресурсам? Обычно существуют определенные ограничения на хранилище indexedDB, которые затрудняют хранение больших ресурсов, и, откровенно говоря, загрузка из изображения вполне может быть быстрее, так как разработчики браузера оптимизируют этот маршрут. Кроме того, изображение на самом деле будет больше в БД, чем в формате JPEG или PNG, так как вы, вероятно, захотите хранить его без сжатия. Это стоит того, чтобы сравнить, но я сомневаюсь, что здесь много выигрышей в производительности.

1 голос
/ 02 февраля 2012

Вы должны иметь возможность хранить изображение в indexedDb, конвертируя или имея его как изображение base64.

Помните, что для базы данных существует ограничение только в 5 МБ на сайт, если вы не укажете неограниченное количество в Манифесте, но для этого потребуется авторизация пользователя.

...