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
);
パラメーターの説明
- hdc:ターゲットデバイスのコンテキストのハンドル。
- nDest、yDest:目的矩形の左上の座標です。
- 目標の矩形の幅と高さ
- xSrc、ySrc:ソース長方形の左上の座標
- SrcWidth、SrcHeight:元矩形の幅と高さ
- ビットマップデータへのポインタ。
- lpBMI:ビットマップ情報構造体へのポインター(BITMAPINFO構造体)
- 画像データの形式
- ROP:光ラスタ操作コードで、ビットマップをターゲットデバイスコンテキストへどのように描画するかを指定します。
StretchDIBits関数は、ウィンドウ、画面にビットマップを描画したり、ビットマップをプリントデバイスに描画するために使用できます。その機能は、BitBlt関数と同じですが、ビットマップの伸縮やトリミングを実行できます。