JavaScript を使用して BMP をダウンロードし、Internet Explorer で画面にレンダリングする必要があります。まず、はい、これは非常識であることはわかっています。理由については説明しません。セキュリティ上の制約のために img src が機能していないことをしばらく受け入れましょう。ただし、投稿で適切な認証を使用した ajax リクエストは画像を引き戻します。この例では、簡単にするためにすべてのセキュリティをバイパスし、何かをレンダリングできることを証明しています。
私が思いついた最良のアイデアは、ajax を介してストリームをフェッチし、ビットマップをデコードしてから、canvas でレンダリングすることでした。Internet Explorer はもちろん canvas をサポートしていませんが、幸運なことに Google が提供する SVG へのラッパーである excanvas を使用することができます。
私のコード(描画コードは機能しているように見えますが、bmpデコードはそれほどではありません)
BMP 以外の他の画像の将来のサポートは妥当であり、キャンバスがどのように機能するかにより、RGBA でピクセルを描画するのが最も簡単です。Texture2D は基本的に、RGBA バイト配列と描画コードのラッパー クラスです。ByteStream を使用すると、バイト配列を扱うのが少し楽になります。BitmapDecoder には、BGR 形式を描画用の RGBA texture2d に変換するメソッドが含まれています。
途中でバイトが誤って変換されている可能性がありますか、それともデコードロジックに問題がありますか?
参考までに、ウィキペディアからファイル仕様を取得しました。
http://en.wikipedia.org/wiki/BMP_file_format#Bitmap_Information_.28DIB_header.29
BMP が正しく描画されない原因となっているデコード ロジックまたは描画ロジックで何が起こっているのか、何か考えはありますか?