2015-06-23 4 views
-1

У меня есть файлы .fla, которые используют формат XFL. внутри есть папка/bin с некоторыми .dat-файлами, эти файлы являются изображениями.C# - содержимое XFL: преобразовать файл .dat в bitmap

Есть ли способ конвертировать эти .dat-файлы в растровые изображения и отображать их в элементе управления PictureBox?

вот пример Дат файла: link

И соответствующее изображение (вывозимые из флэш-памяти) link

UPDATE: ниже моего кода:

string scenePath = "Path to .fla file"; 
ZipFile zip = new ZipFile(scenePath); 
MemoryStream ms = new MemoryStream(); 

foreach (ZipEntry entry in zip) 
{ 
    if (entry.FileName.Contains(objName)) 
    { 
     entry.Extract(ms); 

     //TODO: Need to convert the content of MemoryStream to image type! 

     Bitmap bmp = new Bitmap(ms); 
     pictureBoxObjView.Image = bmp; 
    } 
} 

UPDATE2: я нашел сообщение, которое описывает аналогичную проблему XFL - What are the ./bin/*.dat files?. в ответ я нашел это:

где распакованные данные пикселей с типом хранения: ARGB, так и с деталями размера оно должно быть достаточно, чтобы получить изображение из него. Это с использованием сжатия ZLIB (www.zlib.net) Вспышка используется уровень сжатия 1, но можно использовать любой уровень (но это не обязательно, так как источники обычно сжимают в целом.

, но я до сих пор не undestand, как преобразовать файл .dat в bitmap!

Я попытался вручную распаковать .fla и переименовать файл .dat в образ ext (.jpg, .png, .bmp), чтобы проверить, нормальное изображение файл, но при попытке открыть его я получил ошибку «Неверный формат».

Моя проблема заключается в том, как преобразовать содержимое моего MemoryStream в Bitmap?

С уважением,

+0

Вы пробовали что-нибудь, искали способ сделать это? –

ответ

1

Если вы можете извлечь файлы из папки/бен в потоке или массив байт (который затем будет инкапсулированными в потоке) можно вызвать соответствующую Bitmap constructor и просто назначить эту растровое изображение свойство PictureBox.

+0

благодарю вас за быстрый ответ :) Я уже пробовал это решение, но он не работает :( Видимо, формат изображения в документе в формате adobe, я нашел это сообщение [ссылка] (http://stackoverflow.com/questions/4082812/xfl-what-are-the-bin-dat-files), которые описывают папку/bin внутри fla, но я не понял, как получить файл данных в растровый объект. –

+0

Итак, ваша проблема в том, как чтобы преобразовать файл .dat в растровое изображение. Может быть, вы должны уточнить свой вопрос и добавить к нему пример файла .dat. Кроме того, можно добавить полученный файл изображения, сохранив его как родное изображение с помощью одного из инструментов Adobe, способного чтение файла из этого файла xfl. – Oliver

+0

Я обновил сообщение и добавил ссылку на файл dat –

Смежные вопросы