• ベストアンサー

C言語で画像をウィンドウに表示するやりかたって?

bmpファイルをwindowオープンしたある座標に表示したいのですが、どうすれば表示できますでしょうか? どなたか教えて下さいm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • kapisan
  • ベストアンサー率14% (1/7)
回答No.1

これはそこそこ面倒ですよ。 HBITMAP hbmp; hbmp = (HBITMAP)LoadImage(NULL, "loadするファイル名", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); ここまでで bmp ファイルのロード。 GetDC()かBeginPaint()でhdcを取得した後、 HDC mdc; HBITMAP oldbmp; BITMAP bm; GetObject(hbmp, sizeof(bm), &bm); mdc = CreateCompatibleDC(hdc); oldbmp = (HBITMAP)SelectObject(mdc, hbmp); BitBlt(hdc, x, y, bm.bmWidth, bm.bmHeight, mdc, 0, 0, SRCCOPY); SelectObject(mdc, oldbmp); DeleteDC(mdc); とすると、x,y の位置に画像が表示されます。 hbmp は不要になったら DeleteObject() しましょう。

dra2jp
質問者

補足

すみません、C言語初心者なもので。 今回C言語でテトリスを作ってみました。 C++で作ればなにかしらよりいいものがつくれそうですけど C++を知らないんです・・。 HBITMAP hbmp; ってどういう宣言でしょうか?? int hbmp; や chae hbmp; なら宣言の形がわかるのですが・・・。

すると、全ての回答が全文表示されます。

関連するQ&A