ID2D1DeviceContext ::CreateImageBrush(ID2D1Image*,constD2D1_IMAGE_BRUSH_PROPERTIES&,ID2D1ImageBrush**) , méthode (d2d1_1.h)
Crée un pinceau d’image. L’image d’entrée peut être n’importe quel type d’image, y compris une bitmap, un effet ou une liste de commandes.
Syntaxe
HRESULT CreateImageBrush(
[in] ID2D1Image *image,
[in, ref] const D2D1_IMAGE_BRUSH_PROPERTIES & imageBrushProperties,
[out] ID2D1ImageBrush **imageBrush
);
Paramètres
[in] image
Type : ID2D1Image*
Image à utiliser comme source pour le pinceau d’image.
[in, ref] imageBrushProperties
Type : const D2D1_IMAGE_BRUSH_PROPERTIES
Propriétés spécifiques à un pinceau d’image.
[out] imageBrush
Type : ID2D1ImageBrush**
Lorsque cette méthode retourne, contient l’adresse d’un pointeur vers les rectangles d’entrée.
Valeur retournée
Type : HRESULT
Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
HRESULT | Description |
---|---|
S_OK | Aucune erreur ne s'est produite. |
E_OUTOFMEMORY | Direct2D n’a pas pu allouer suffisamment de mémoire pour terminer l’appel. |
E_INVALIDARG | Une valeur non valide a été passée à la méthode. |
Remarques
Le pinceau d’image peut être utilisé pour remplir une géométrie arbitraire, un masque d’opacité ou du texte.
Cet exemple illustre le dessin d’un rectangle avec un pinceau d’image.
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;
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1_1.h |
DLL | D2d1.dll |
Voir aussi
ID2D1DeviceContext ::CreateCommandList
ID2D1DeviceContext ::CreateEffect