DelphiにStretchBltとStretchDIBitsを設定する方法
Delphiでは、StretchBlt、StretchDIBitsは画像を伸縮させるための関数です。これらの関数は、指定した倍率で画像を伸縮させ、その結果をターゲットデバイスに描画するために使用できます。
この2つの関数の引数を設定するには、以下を行います。
- StretchBlt 関数
- StretchBlt(DestDC: HDC; DestX: Integer; DestY: Integer; DestWidth: Integer; DestHeight: Integer; SrcDC: HDC; SrcX: Integer; SrcY: Integer; SrcWidth: Integer; SrcHeight: Integer; Rop: DWORD): BOOL;
- DestDC: ターゲット デバイスのハンドルです。
- DestX, DestY: 表示するデバイス上の始点
- 表示描画を対象とする機器上の幅と高さを指定します。
- ソース画像のハンドル
- SrcX、SrcY: 元画像上で伸縮させる開始位置
- ソース画像上でリサイズする幅と高さ。
- ROP: ソース画像とターゲット画像をどのようにブレンドするのかを指定するためのラスターオペレーションコード。
- ストレッチDIBits関数:
- StretchDIBits(hdc: HDC; destX: Integer; destY: Integer; destWidth: Integer; destHeight: Integer;
srcX: Integer; srcY: Integer; srcWidth: Integer; srcHeight: Integer;
bits: Pointer; var bitsInfo: TBitmapInfo;
usage: UINT; rop: DWORD): Integer; - 対象デバイスのハンドル。
- DestX、DestY:描画対象デバイス上の開始位置
- 描画先の機器の幅と高さ “DestWidth“ “DestHeight“
- SrcX、SrcY:伸縮させる元の画像での始点の位置。
- SrcWidth、SrcHeight: 対象とする画像上で引き伸ばす幅と高さ。
- ビット:元の画像のピクセルデータ
- ビット情報のソース画像。
- ピクセルデータの用途を指定します。
- 光ラスタオペレーション(ROP)とは、ソース画像とターゲット画像を合成する方法を指定するものです。
目的のデバイスのハンドル、伸縮開始位置、幅、高さなどを必要に応じて設定し、必要に応じてラスターオペレーションコードを設定して、必要な伸縮効果を得るために、この 2 つの関数を呼び出す際には上記のパラメーターをニーズに合わせて設定する必要があります。