WindowsProgram

ビットマップとはWindowsで扱う画像のことである。
ビットマップの構造はBITMAP構造体に定義されている。
実際に表示をするにはビットマップハンドルをデバイスコンテキスト(DC)に関連付けて、表示用のDCに対して
BitBltする必要がある。
そのHBITMAPであるが、作り方は何通りかあるので使用目的ごとに説明する。

  1. HBITMAP CreateDIBSection(hdc, *pbmi, iUsage, **ppvBits, hSection, dwOffset)
  2. BITMAP CreateDIBitmap(hdc, lpbmih, fdwInit, lpbInit, lpbmi, fuUsage)
  3. HBITMAP CreateCompatibleBitmap(hdc, nWidth, nHeight)
  4. HBITMAP CreateBitmap(nWidth, nHeight, cPlanes, cBitsPerPel, lpvBits)
  5. int StretchDIBits(hdc, XDest, YDest, nDestWidth, nDestHeight, XSrc, YSrc, nSrcWidth, nSrcHeight, lpBits, lpBitsInfo, iUsage, dwRop)
  6. LONG SetBitmapBits(hbmp, cBytes, lpBits)
  7. int SetDIBitsToDevice(hdc, XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse)
  8. HBITMAP LoadBitmap(hinst, lpszBitmap)
  9. HBITMAP LoadImage(NULL, lpszBitmap, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION)


このうちよく使うのがCreateDIBSectionである。
このAPIはDIBとHBITMAPを同時に作成するのでビットマップの扱いには便利だからだ。

HBITMAP CreateDIBSection(hdc, *pbmi, iUsage, **ppvBits, hSection, dwOffset)
HBITMAP CreateCompatibleBitmap(hdc, nWidth, nHeight)
HBITMAP LoadBitmap(hinst, lpszBitmap)
HBITMAP LoadImage(NULL, lpszBitmap, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION)

 

 

HBITMAP LoadImage(NULL, lpszBitmap, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION)
HBITMAP LoadImage(hModule, lpszBitmap, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION)
GetModuleHandle(NULL)

 

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル