« シュレック2 | メイン | ナイナイのANN »

ビットマップの表示

MFCでは外部のビットマップファイルを読み込むものが用意されてないし、DIB形式の表示すらない。
ってことで自分でDIB形式の構造体を用意して、DIBを表示するAPIを呼び出す必要があります。

1. ファイル読込
CFILE使ってオープンする場合。


pDib = (BYTE*)new char[file.GetLength()];
file.Read(pDib, file.GetLength());

pBmfh = (LPBITMAPFILEHEADER)pDib;
pBmih = (LPBITMAPINFOHEADER)(pDib + sizeof(BITMAPFILEHEADER));
pData = pDib + pBmfh->bfOffBits;

2. 表示
表示するAPIは他にもあるけど、hdcの取得にはGetSafeHdc()を使いましょう。


::StretchDIBits(pDC->GetSafeHdc(),
0, 0, pBmih->biWidth, pBmih->biHeight,
0, 0, pBmih->biWidth, pBmih->biHeight,
pData, (LPBITMAPINFO)pBmih, DIB_RGB_COLORS, SRCCOPY);

トラックバック

このエントリーのトラックバックURL:
http://chrono.s9.xrea.com/x/daysMT/mt-tb.cgi/20

コメントを投稿

About

2004年08月03日 22:01に投稿されたエントリーのページです。

ひとつ前の投稿は「シュレック2」です。

次の投稿は「ナイナイのANN」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34