VC++(2013)でGDI+のHBITMAP画像読込

ファイルパス名からマルチバイト文字をワイド文字に変更し、画像を読込んだ後、HBITMAPハンドルを取得する関数です。この関数ではファイル名のみを指定した場合、VC++2013から直接デバッグ実行は出来ません。

HBITMAP img(char*s)
{
	HBITMAP b = 0;	WCHAR t[256] = { 0 };

	MultiByteToWideChar(CP_THREAD_ACP, MB_PRECOMPOSED, s,-1,t,sizeof(t));
	Gdiplus::Bitmap m(t);
	m.GetHBITMAP(0, &b);
	return b;
}

exeを実行するには、エクスプローラから
[ドキュメント]→[Visual Studio 2013]→[Projects]→[(プロジェクト名)]→[Debug]or[Release]の(プロジェクト名).exeがある同じフォルダに画像ファイル等を置けば、ビルド後、[Debug]or[Release]フォルダの(プロジェクト名).exeをクリックすれば、実行し、ちゃんと画像ファイル等を読込んでくれます。

Leave a Reply