XFL 形式を使用する .fla ファイルがあります。内部には、いくつかの .dat ファイルを含む /bin フォルダーがあり、これらのファイルは画像です。
これらの .dat ファイルをビットマップに変換して PictureBox コントロールに表示する方法はありますか?
以下は dat ファイルの例です:リンク
および対応する画像 (Flash からエクスポート)リンク
更新:私のコードの下:
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;
}
}
更新 2: 同様の問題XFL - What are the ./bin/*.dat files?について説明している投稿を見つけました。. 答えで私はこれを見つけました:
解凍されたデータは、ストレージ タイプが ARGB のピクセルであるため、サイズ情報があれば、そこから画像を取得するのに十分なはずです。ZLIB 圧縮 (www.zlib.net) を使用しています。Flash は圧縮レベル 1 を使用していますが、任意のレベルを使用できます (ただし、ソースは通常完全に圧縮されるため、必ずしも必要ではありません。
しかし、.dat ファイルをビットマップに変換する方法がまだわかりません !!
手動で .fla を解凍し、.dat ファイルの名前を image ext (.jpg、.png、.bmp) に変更して、それが通常の画像ファイルかどうかを確認しようとしましたが、開こうとすると「フォーマットが正しくありません」というエラーが表示されましたそれ。
私の問題は、MemoryStream のコンテンツをビットマップに変換する方法です。
よろしく、