「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>
|