次の方法で共有


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

ソース四角形の高さ (ピクセル単位)。

戻り値

なし

解説

コピー先バッファーのサイズは、各ピクセル行の末尾にあるアラインメント バイトを格納するのに十分な大きさにする必要があります。

biSrcbiDst の値が 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