EngPlgBlt

EngPlgBlt 関数は、GDI に回転ビットブロック転送を実行させる。

EngPlgBlt psoTrg, psoSrc, psoMsk, pco, pxlo, pca, pptlBrushOrg, pptfx, prcl, pptl, iMode

psoTrg : [var] 描画先のサーフェスを記述する SURFOBJ 構造体へのポインタ。
psoSrc : [var] ビットブロック転送操作のソースサーフェスを記述する SURFOBJ 構造体へのポインタ。
psoMsk : [var] ソースのマスクを表す任意の SURFOBJ 構造体へのポインタ。これは 1 ピクセルあたり 1 ビットのビットマップである論理マップで定義される。このマスクはコピーされるソースの領域を制限する。マスクは暗黙の rop4 0xCCAA を持ち、マスクが 1 のところでソースをコピーし、マスクが 0 のところでは宛先をそのままにすべきことを意味する。このパラメータが NULL の場合、暗黙の rop4 は 0xCCCC で、ソース矩形のすべての場所でソースをコピーすべきことを意味する。マスクは関連するソースを含むのに十分な大きさが常にあり、タイリングは不要である。
pco : [var] 変更する宛先の領域を制限する CLIPOBJ 構造体へのポインタ。GDI 関数はクリップ領域を矩形の集合として列挙する。可能な限り GDI はクリッピングを単純化する。DrvBitBlt と異なり、EngPlgBlt は単一クリッピング矩形で呼ばれることがある。これにより出力をクリッピングする際の丸め誤差を防ぐ。
pxlo : [var] ソースとターゲットのサーフェス間でカラーインデックスをどう変換するかを定義する XLATEOBJ 構造体へのポインタ。この XLATEOBJ 構造体は、任意のソースインデックスの RGB 色を見つけるために問い合わせることができる。色を補間するには高品質な回転ビットブロック転送が必要である。
pca : [var] ビットを伸縮する前にソースビットマップに適用するカラー調整値を定義する COLORADJUSTMENT 構造体へのポインタ。詳細は Microsoft Windows SDK ドキュメントを参照。
pptlBrushOrg : [var] ハーフトーンブラシの原点を指定する POINTL 構造体へのポインタ。ハーフトーンブラシを使用するドライバは、ブラシのパターンの左上ピクセルをデバイスサーフェス上のこの点に整列させるべきである。
pptfx : [var] 宛先サーフェス上で平行四辺形を定義する 3 つの POINTFIX 構造体へのポインタ。4 番目の暗黙の頂点は D = B + C - A として与えられる。このデータ型の説明は GDI Data Types を参照。EngPlgBlt は A, B, C が一直線上にある状態では決して呼ばれない。
prcl : [var] ソースサーフェスの座標系で、コピーする領域を定義する RECTL 構造体へのポインタ。ソース矩形の点は整列している。EngPlgBlt は決して空のソース矩形では呼ばれない。
pptl : [var] 指定したマスク内のどのピクセルがソース矩形の左上ピクセルに対応するかを指定する POINTL 構造体へのポインタ。psoMsk が NULL の場合、このパラメータは無視する。
iMode : [int] 

(プラグイン / モジュール : gdi32.dll)

解説

EngPlgBlt 関数は、GDI に回転ビットブロック転送を実行させる。

[戻り値]
関数が成功した場合、戻り値は TRUE となる。それ以外の場合は FALSE となり、エラーコードが報告される。

[備考]
EngPlgBlt は特定の種類の回転のみを実行する。この関数は、prcl
で定義された矩形から任意の平行四辺形へのビットブロック転送を実行する。平行四辺形は 3 点の配列を指す pptfx で定義される。prcl
のソース矩形は、整数座標から (-0.5,-0.5) ずれた角を持つ幾何学的矩形と見なされる。これは EngStretchBlt
のソース矩形と完全に一致する。ソース矩形は常に整列している。ソース矩形の左上隅は最初の点 A にマップされる。ソース矩形の右上隅は 2
番目の点 B にマップされる。ソース矩形の左下隅は 3 番目の点 C にマップされる。ソース矩形の右下隅は、与えられた 3
点をベクトルとして扱い計算することで定義される平行四辺形内の暗黙の点にマップされる。
(以下省略)

情報

プラグイン / モジュールgdi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_gdi32_gen2.hs