• 締切済み

DIBフォーマットの読み込みとそれを元にBMPを画面へ表示する方法について

現在DirectDrawスケルトンでDIBフォーマットを元にBMPデータを取り出して、 そのデータを元に画面に表示するまでのプログラムを勉強しています。DIBフォーマットの構造については理解したのですが、取り出したBMPデータのイメージデータ部分をどこにどう設定してどのような手順を踏んでいけば画面にBMPを表示できるのかわかりません。BMPデータを取り出してから画面に表示するまでの流れなどをわかる方がいらっしゃいましたらぜひ教えていただきたいです。 DIBフォーマットの形式は8bitで256色パレットを使用します。 別でパレットをロードする関数は自作してあるので、ヘッダを読み込んだ後はカラーテーブルをとばしてイメージデータを読み込むやり方にしようと思っています。 そこでパレットとイメージデータの各ピクセルが持つインデックス番号を関連づける方法も教えていただけるとありがたいです。 よろしくお願いします。

みんなの回答

noname#30727
noname#30727
回答No.1

参考 URL の下のほうにある、DirectX 7.0 日本語ドキュメントをダウンロードして、DirectDraw C/C++ チュートリアルあたりを読めば、DirectDraw については、ある程度わかるはずです。 ビットマップのロードに関しては、同ページの DirectX 7.0a SDK をダウンロードして、実行ファイルの拡張子を zip に変更し(古いのでインストールはしない)、DXF\samples\multimedia\ddraw\src\ddex2\ddutil.cpp の DDReLoadBitmap 関数、DDCopyBitmap 関数、DDLoadPalette 関数などが参考になると思います。 自前でビットマップを読み込む場合は、DDReLoadBitmap関数 の LoadImage()の代わりに、CreateDIBitmap() などを使用してイメージデータを元にメモリビットマップを作成します。

参考URL:
http://www.microsoft.com/japan/msdn/directx/downloads.asp

関連するQ&A