SetStretchBltMode

https://msdn.microsoft.com/ja-jp/library/cc428944.aspx

指定されたデバイスコンテキストのビットマップ伸縮モードを設定します。

int SetStretchBltMode(
  HDC hdc,           // デバイスコンテキストのハンドル
  int iStretchMode   // ビットマップの伸縮モード
);

パラメータ

hdc
デバイスコンテキストのハンドルを指定します。
iStretchMode
伸縮モードを指定します。次の値のいずれかを指定します。
説明
BLACKONWHITE論理 AND 演算子を使って、残す点の色と取り除く点の色を組み合わせます。ビットマップがモノクロームのビットマップである場合、白のピクセルが消され、黒のピクセルが残ります。
COLORONCOLORピクセルを削除します。取り除く点の情報を何らかの形で維持せようとはせず、単純にそれらの点を削除します。
HALFTONEコピー元長方形内のピクセルをコピー先長方形内のピクセルブロックに関連付けます。コピー先ブロックの平均的な色は、コピー元のピクセルの色に近い色になります。

HALFTONE モードを設定した後で、アプリケーションは SetBrushOrgEx 関数を呼び出してブラシの原点を設定しなければなりません。この作業を省略すると、ブラシの位置がずれてしまいます。

Windows 95/98 では、この値はサポートされていません。

STRETCH_ANDSCANSBLACKONWHITE と同じです。
STRETCH_DELETESCANSCOLORONCOLOR と同じです。
STRETCH_HALFTONEHALFTONE と同じです。
STRETCH_ORSCANSWHITEONBLACK と同じです。
WHITEONBLACK論理 OR 演算子を使って、残す点の色と取り除く点の色を組み合わせます。ビットマップがモノクロームのビットマップである場合、黒のピクセルが消され、白のピクセルが残ります。

戻り値

関数が成功すると、以前の伸縮モードが返ります。

関数が失敗すると、0 が返ります。

Windows NT/2000:拡張エラー情報を取得するには、 関数を使います。

解説

伸縮モードは、アプリケーションが StretchBlt 関数を呼び出したときに、システムがビットマップの行または列を、表示デバイスの既存のピクセルと組み合わせる方法を定義します。

BLACKONWHITE(STRETCH_ANDSCANS)と WHITEONBLACK(STRETCH_ORSCANS)の各モードは、通常、モノクロームのビットマップで前景ピクセルを残すために使われます。COLORONCOLOR(STRETCH_DELETESCANS)は、通常、カラービットマップの色を残すために使われます。

HALFTONE モードは、変換元イメージに対して、他の 3 つのモードより高度な処理を行います。このモードは、他のモードより低速ですが、高品質なイメージを生成します。また、HALFTONE モードを設定した後は、ブラシのずれを防止するために、SetBrushOrgEx を呼び出さなければならないことにも注意してください。

デバイスドライバによっては、その他の伸縮モードもサポートしています。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Wingdi.h 内で宣言、Windows.h をインクルード
インポートライブラリ:Gdi32.lib を使用

参照

GetStretchBltMode, SetBrushOrgEx, StretchBlt

表示: