ID2D1DeviceContext::CreateImageBrush(ID2D1Image*,constD2D1_IMAGE_BRUSH_PROPERTIES&,ID2D1ImageBrush**) メソッド (d2d1_1.h)
イメージ ブラシを作成します。 入力イメージには、ビットマップ、効果、コマンド リストなど、任意の種類のイメージを指定できます。
構文
HRESULT CreateImageBrush(
[in] ID2D1Image *image,
[in, ref] const D2D1_IMAGE_BRUSH_PROPERTIES & imageBrushProperties,
[out] ID2D1ImageBrush **imageBrush
);
パラメーター
[in] image
種類: ID2D1Image*
イメージ ブラシのソースとして使用するイメージ。
[in, ref] imageBrushProperties
型: const D2D1_IMAGE_BRUSH_PROPERTIES
イメージ ブラシに固有のプロパティ。
[out] imageBrush
種類: ID2D1ImageBrush**
このメソッドから制御が戻るときに、入力四角形へのポインターのアドレスが格納されます。
戻り値
型: HRESULT
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
HRESULT | 説明 |
---|---|
S_OK | エラーは発生していません。 |
E_OUTOFMEMORY | Direct2D は、呼び出しを完了するのに十分なメモリを割り当てませんでした。 |
E_INVALIDARG | 無効な値が メソッドに渡されました。 |
注釈
イメージ ブラシを使用して、任意のジオメトリ、不透明度マスク、またはテキストを塗りつぶすことができます。
このサンプルでは、イメージ ブラシを使用して四角形を描画する方法を示します。
HRESULT
CreatePatternBrush(
__in ID2D1DeviceContext *pDeviceContext,
__deref_out ID2D1ImageBrush **ppImageBrush
)
{
HRESULT hr = S_OK;
ID2D1Image *pOldTarget = NULL;
pDeviceContext->GetTarget(&pOldTarget);
ID2D1CommandList *pCommandList = NULL;
hr = pDeviceContext->CreateCommandList(&pCommandList);
if (SUCCEEDED(hr))
{
pDeviceContext->SetTarget(pCommandList);
hr = RenderPatternToCommandList(pDeviceContext);
}
pDeviceContext->SetTarget(pOldTarget);
ID2D1ImageBrush *pImageBrush = NULL;
if (SUCCEEDED(hr))
{
hr = pDeviceContext->CreateImageBrush(
pCommandList,
D2D1::ImageBrushProperties(
D2D1::RectF(198, 298, 370, 470),
D2D1_EXTEND_MODE_WRAP,
D2D1_EXTEND_MODE_WRAP,
D2D1_INTERPOLATION_MODE_LINEAR
),
&pImageBrush
);
}
// Fill a rectangle with the image brush.
if (SUCCEEDED(hr))
{
pDeviceContext->FillRectangle(
D2D1::RectF(0, 0, 100, 100), pImageBrush);
}
SafeRelease(&pImageBrush);
SafeRelease(&pCommandList);
SafeRelease(&pOldTarget);
return hr;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 のWindows Server 2012とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d2d1_1.h |
[DLL] | D2d1.dll |
こちらもご覧ください
ID2D1DeviceContext::CreateCommandList
ID2D1DeviceContext::CreateEffect