ホーム › Graphics.Direct2D › ID2D1ImageBrush
ID2D1ImageBrush
COM公式ドキュメント
ID2D1Image を基にしたブラシを表します。
メソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 8 void SetImage(ID2D1Image* image)
指定したイメージブラシに関連付けるイメージを設定します。
| image | ID2D1Image* | inoptional | イメージブラシに関連付けるイメージ。 |
vtbl 9 void SetExtendModeX(D2D1_EXTEND_MODE extendModeX)
イメージブラシ内のソース矩形の内容を x 軸方向にどのように拡張するかを設定します。
| extendModeX | D2D1_EXTEND_MODE | in | イメージの x 軸方向の拡張モード。 |
vtbl 10 void SetExtendModeY(D2D1_EXTEND_MODE extendModeY)
y 軸方向の拡張モードを設定します。
| extendModeY | D2D1_EXTEND_MODE | in | イメージの y 軸方向の拡張モード。 |
vtbl 11 void SetInterpolationMode(D2D1_INTERPOLATION_MODE interpolationMode)
イメージブラシの補間モードを設定します。
| interpolationMode | D2D1_INTERPOLATION_MODE | in | ブラシ変換を処理するために、イメージの内容をどのように補間するか。 |
vtbl 12 void SetSourceRectangle(D2D_RECT_F* sourceRectangle)
イメージブラシ内のソース矩形を設定します。
| sourceRectangle | D2D_RECT_F* | in | タイル化するイメージの部分を定義するソース矩形。 |
解説(Remarks)
sourceRectangle パラメーターの左上隅は、ブラシ空間の原点にマッピングされます。つまり、ブラシ変換とワールド変換の両方が単位行列である場合、ソース矩形の左上隅にあるイメージの部分は、レンダーターゲットの (0,0) にレンダリングされます。
ソース矩形は、入力イメージがピクセルベース(ビットマップまたはエフェクト)であるか、コマンドリストベースであるかによって、異なる方法で拡張されます。
- 入力イメージがビットマップまたはエフェクトの場合、矩形は入力ピクセル全体を包含するように拡張された後、投影された矩形が最終的なシーン空間で正しくなるように、さらに縮小されます。
- 入力イメージがコマンドリストの場合、コマンドリストは入力ピクセル全体を包含するようにわずかに拡張されます。
vtbl 13 void GetImage(ID2D1Image** image)
イメージブラシに関連付けられたイメージを取得します。
| image | ID2D1Image** | out | このメソッドが返るとき、このブラシに関連付けられたイメージへのポインターのアドレスが格納されます。 |
vtbl 14 D2D1_EXTEND_MODE GetExtendModeX()
イメージブラシの x 軸方向の拡張モードを取得します。
戻り値
このメソッドは x 軸方向の拡張モードを返します。
vtbl 15 D2D1_EXTEND_MODE GetExtendModeY()
イメージブラシの y 軸方向の拡張モードを取得します。
戻り値
このメソッドは y 軸方向の拡張モードを返します。
vtbl 16 D2D1_INTERPOLATION_MODE GetInterpolationMode()
イメージブラシの補間モードを取得します。
戻り値
このメソッドは補間モードを返します。
vtbl 17 void GetSourceRectangle(D2D_RECT_F* sourceRectangle)
イメージブラシとして描画される際に、イメージの境界として使用される矩形を取得します。
| sourceRectangle | D2D_RECT_F* | out | このメソッドが返るとき、出力ソース矩形のアドレスが格納されます。 |
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID2D1ImageBrush "{FE9E984D-3F95-407C-B5DB-CB94D4E8F87C}" #usecom global ID2D1ImageBrush IID_ID2D1ImageBrush "{}" #comfunc global ID2D1ImageBrush_SetImage 8 sptr #comfunc global ID2D1ImageBrush_SetExtendModeX 9 int #comfunc global ID2D1ImageBrush_SetExtendModeY 10 int #comfunc global ID2D1ImageBrush_SetInterpolationMode 11 int #comfunc global ID2D1ImageBrush_SetSourceRectangle 12 var #comfunc global ID2D1ImageBrush_GetImage 13 sptr #comfunc global ID2D1ImageBrush_GetExtendModeX 14 #comfunc global ID2D1ImageBrush_GetExtendModeY 15 #comfunc global ID2D1ImageBrush_GetInterpolationMode 16 #comfunc global ID2D1ImageBrush_GetSourceRectangle 17 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID2D1ImageBrush "{FE9E984D-3F95-407C-B5DB-CB94D4E8F87C}" #usecom global ID2D1ImageBrush IID_ID2D1ImageBrush "{}" #comfunc global ID2D1ImageBrush_SetImage 8 sptr #comfunc global ID2D1ImageBrush_SetExtendModeX 9 int #comfunc global ID2D1ImageBrush_SetExtendModeY 10 int #comfunc global ID2D1ImageBrush_SetInterpolationMode 11 int #comfunc global ID2D1ImageBrush_SetSourceRectangle 12 sptr #comfunc global ID2D1ImageBrush_GetImage 13 sptr #comfunc global ID2D1ImageBrush_GetExtendModeX 14 #comfunc global ID2D1ImageBrush_GetExtendModeY 15 #comfunc global ID2D1ImageBrush_GetInterpolationMode 16 #comfunc global ID2D1ImageBrush_GetSourceRectangle 17 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。