PDA

Просмотр полной версии : ByteArray перевести в BitmapData, Как это сделать без Loader'a


amarenkov
08.10.2008, 11:22
Доброе время суток.

Кто-нибудь знает, как из ByteArray получить BitmapData?

Проблема такая: я к своему проекту делаю embedde архив. В процессе выполнения я его разархивирую в памяти и извлекаю файлы. С текстовыми данными проблем не возникает, но вот картинки... При извлечении файла он возвращает ByteArray, который я не знаю, как преобразовать в BitmapData.

Loader не подходит потому, что он требует локальный доступ к этому же файлу - файлу swf, внутри которого у меня находится ресурс. Плюс к тому, Loader - ассинхронный. А я не вижу смысла начинать загрузку, отслеживать ее завершение, если данные - вот они, в массиве, который хранится локально и который у меня уже внутри переменной.

Заранее спасибо.

etc
08.10.2008, 12:47
Пишите декодер в ByteArray и дальше по документации по BitmapData.

amarenkov
08.10.2008, 13:09
В смысле "пиши декодер в ByteArray"? У меня ByteArray уже есть :).

etc
08.10.2008, 13:21
У вас ByteArray, содержащий картинку в формате, скажем, PNG. Вам же надо из этого получить ByteArray с цветами пикселей, для метода setPixels.

amarenkov
08.10.2008, 13:56
Да, но как это сделать?

Вот есть обычный файл png. У меня в массиве он и оказывается - байт в байт. Как мне получить ByteArray с цветами пикселей?

Есть PNGEncoder, а вот декодеров нет нигде. В хелпе точно нет :).

etc
08.10.2008, 13:59
Ну значит надо декодер написать. Как? Изучить спецификацию формата PNG.