StretchDIB 関数 (vfw.h)
StretchDIB 関数は、あるメモリの場所から別の場所にデバイスに依存しないビットマップをコピーし、コピー先の四角形に合わせてイメージのサイズを変更します。
構文
void StretchDIB(
LPBITMAPINFOHEADER biDst,
LPVOID lpDst,
int DstX,
int DstY,
int DstXE,
int DstYE,
LPBITMAPINFOHEADER biSrc,
LPVOID lpSrc,
int SrcX,
int SrcY,
int SrcXE,
int SrcYE
);
パラメーター
biDst
コピー先ビットマップを記述する BITMAPINFOHEADER 構造体へのポインター。
lpDst
コピーされたピクセル ビットを受け取るメモリ バッファーへのポインター。
DstX
変換先の四角形の原点の X 座標。
DstY
変換先の四角形の原点の Y 座標。
DstXE
コピー先の四角形の幅 (ピクセル単位)。
DstYE
移動先の四角形の高さ (ピクセル単位)。
biSrc
ソース ビットマップを記述する BITMAPINFOHEADER 構造体へのポインター。
lpSrc
ソース ビットマップ データへのポインター。
SrcX
ソース四角形の原点の X 座標。
SrcY
ソース四角形の原点の Y 座標。
SrcXE
ソース四角形の幅 (ピクセル単位)。
SrcYE
ソース四角形の高さ (ピクセル単位)。
戻り値
なし
解説
コピー先バッファーのサイズは、各ピクセル行の末尾にあるアラインメント バイトを格納するのに十分な大きさにする必要があります。
biSrc と biDst の値が biBitCount に異なる場合、または biSrc の値である場合、この関数は何も行いません。 biBitCount は 8、16、または 24 と等しくありません。
この関数では、ディザリングやその他のスムージングは実行されません。 ピクセル値は、1 行ずつ列単位で削除または複製されるだけです。
この関数は、ピクセルあたりのビット数を計算する場合を除き、ピクセル エンコードに基づく特別な処理を行いません。 特に、この関数は、YOU と V がデシメーションされ、各ピクセルで等しく表されない YUV 形式の場合と同様に、ピクセルが 1 ピクセルを超えるグループでエンコードされている場合、正しい結果を生成しません。
Vfw.h を含める前に、コードに次の行を追加する必要があります。
#define DRAWDIB_INCLUDE_STRETCHDIB
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vfw.h |
Library | Vfw32.lib |
[DLL] | Msvfw32.dll |