W32 Image

Image File("c:\\data\\test\\ffx2s.bmp") を入力して描画します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. Windows10 & Visual Studio 2019 の環境で、Image File("c:\\data\\test\\ffx2s.bmp") を入力して描画します。
    Visual Studio で [C++ Windows デスクトップ] のプロジェクトを作成します。
    プロジェクトの作成は W32 Hello を参照して下さい。
  2. WindowsProject1.cpp の WM_PAINT: を修正します。
    L"c:\\data\\test\\ffx2s.bmp" が入力する画像ファイルです。
    あなたがプログラムを作成するときは、適当な BMP ファイルを調達して下さい。
    BitBlt() 関数が画像を描画する関数です。
    0,0,bm.bmWidth,bm.bmHeight がコピー先の座標(X,Y)と幅と高さで、0,0 がコピー元の座標(X,Y)です。
        BitBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,hBmpDC,0,0,SRCCOPY);
    
        case WM_PAINT:
            {
                PAINTSTRUCT ps;
                HDC hdc = BeginPaint(hWnd, &ps);
                // TODO: HDC を使用する描画コードをここに追加してください...
                HDC             hBmpDC;
                HBITMAP         hBmp;
                BITMAP          bm;
    
                hBmp = (HBITMAP)LoadImage(NULL,L"c:\\data\\test\\ffx2s.bmp",IMAGE_BITMAP,0,0,
                               LR_LOADFROMFILE|LR_CREATEDIBSECTION);
                if (hBmp!=NULL)
                {   hBmpDC= CreateCompatibleDC(hdc);
                    SelectObject(hBmpDC,hBmp);
                    GetObject(hBmp,sizeof(bm),&bm);
                    BitBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,hBmpDC,0,0,SRCCOPY);
                    DeleteDC(hBmpDC);
                    DeleteObject(hBmp);
                }
                EndPaint(hWnd, &ps);
            }
            break;
    
  3. x64 または x86 を選んで、右三角矢印(または F5 キー)でコンパイルします。
    プログラムを起動するとウインドウに画像が描画されます。
    メニューから[ファイル][終了する]を選ぶとプログラムが終了します。
    Windows デスクトップ アプリケーションは UWP(Universal Windows Platform)のように自動的にメニューに登録されることは無いようです。
    プログラムは Win32 API に準じるようです。詳細は[超初心者のプログラム入門(C言語 Windows)]を参照して下さい。
  4. BitBlt() の説明です。
    ソース 説明
    BitBlt 画像を表示する関数
    hdc デバイスコンテキスト
    0,0 ウインドウの左上座標
    bm.bmWidth 表示する大きさ(横幅)
    bm.bmHeight 表示する大きさ(高さ)
    hBmpDC BMP 画像のコンテキスト
    0,0 BMP 画像の左上座標
    SRCCOPY コピー元をそのままコピー

超初心者のプログラム入門(C/C++)

超初心者のプログラム入門(C言語 Windows)