「Windows API/画像の操作」の版間の差分

削除された内容 追加された内容
編集の要約なし
編集の要約なし
268 行
 
:※ ひょっとしたwin32API側で透明度を調整する事も可能かもしれないが、あまり簡単な方法が普及しておらず、ネットで調べても、(win32API側で透明度を調整する方法については)なかなか見つからない。
 
 
 
=== 初回起動時の初期設定を一括したい場合 ===
 
 
WM_PAINT を毎回読み込む場合にGDIの設定プログラムを起動するのは無駄なので、
 
初回起動にまとめて処理する場合には、wWinMain 関数 のほうで処理する。
 
 
いっぽう、 WM_CREATE で処理しようとしても、なぜかコンパイルエラーになる。
 
 
つまり、コードの下記のようになる。
 
;winMAin側
<source lang=c>
 
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
 
// TODO: ここにコードを挿入してください。
 
// GDI+ の初期化
GdiplusStartupInput gdiplusStartupInput; // MSDNにそのままのコードがある.
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
 
// 以上、MSDN からの引用.
 
</source>
 
 
;WM_PAINT 側
 
<source lang=c>
Graphics graphics(hdc);
 
// 画像の読み込み「image2」は変数名。
Image image2(L"filter.png");
 
// 画像の描画。 ダミー変数 graphics を仲介して描画する必要がある.
graphics.DrawImage(&image2, 0, 0, image2.GetWidth(), image2.GetHeight());
</source>