ID2D1DeviceContext::CreateImageBrush(ID2D1Image*,constD2D1_IMAGE_BRUSH_PROPERTIES&,ID2D1ImageBrush**)-Methode (d2d1_1.h)
Erstellt einen Bildpinsel. Das Eingabebild kann ein beliebiger Bildtyp sein, einschließlich einer Bitmap, eines Effekts oder einer Befehlsliste.
Syntax
HRESULT CreateImageBrush(
[in] ID2D1Image *image,
[in, ref] const D2D1_IMAGE_BRUSH_PROPERTIES & imageBrushProperties,
[out] ID2D1ImageBrush **imageBrush
);
Parameter
[in] image
Typ: ID2D1Image*
Das Bild, das als Quelle für den Bildpinsel verwendet werden soll.
[in, ref] imageBrushProperties
Typ: const D2D1_IMAGE_BRUSH_PROPERTIES
Die spezifischen Eigenschaften für einen Bildpinsel.
[out] imageBrush
Typ: ID2D1ImageBrush**
Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf die Eingaberechtecke.
Rückgabewert
Typ: HRESULT
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
HRESULT | BESCHREIBUNG |
---|---|
S_OK | Kein Fehler ist aufgetreten. |
E_OUTOFMEMORY | Direct2D konnte nicht genügend Arbeitsspeicher zuweisen, um den Anruf abzuschließen. |
E_INVALIDARG | Ein ungültiger Wert wurde an die -Methode übergeben. |
Hinweise
Der Bildpinsel kann verwendet werden, um eine beliebige Geometrie, eine Deckkraftmaske oder Text auszufüllen.
In diesem Beispiel wird das Zeichnen eines Rechtecks mit einem Bildpinsel veranschaulicht.
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;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | d2d1_1.h |
DLL | D2d1.dll |
Weitere Informationen
ID2D1DeviceContext::CreateCommandList
ID2D1DeviceContext::CreateEffect