C++のStretchDIBits関数の使い方は?

C++では、StretchDIBits関数はビットマップをスクリーンに描画するために使用されます。これはビットマップをソース長方形領域からターゲット長方形領域に伸縮して描画し、拡大縮小やクリッピングを行います。

関数のプロトタイプは次のようになります:

int StretchDIBits(
  HDC        hdc,
  int        xDest,
  int        yDest,
  int        DestWidth,
  int        DestHeight,
  int        xSrc,
  int        ySrc,
  int        SrcWidth,
  int        SrcHeight,
  const VOID *lpBits,
  const BITMAPINFO *lpbmi,
  UINT       iUsage,
  DWORD      rop
);

パラメーターの説明

  1. hdc:ターゲットデバイスのコンテキストのハンドル。
  2. nDest、yDest:目的矩形の左上の座標です。
  3. 目標の矩形の幅と高さ
  4. xSrc、ySrc:ソース長方形の左上の座標
  5. SrcWidth、SrcHeight:元矩形の幅と高さ
  6. ビットマップデータへのポインタ。
  7. lpBMI:ビットマップ情報構造体へのポインター(BITMAPINFO構造体)
  8. 画像データの形式
  9. ROP:光ラスタ操作コードで、ビットマップをターゲットデバイスコンテキストへどのように描画するかを指定します。

StretchDIBits関数は、ウィンドウ、画面にビットマップを描画したり、ビットマップをプリントデバイスに描画するために使用できます。その機能は、BitBlt関数と同じですが、ビットマップの伸縮やトリミングを実行できます。

bannerAds