ID2D1CommandSink1 ::SetPrimitiveBlend1, méthode (d2d1_2.h)
Définit un nouveau mode de fusion primitif.
Syntaxe
HRESULT SetPrimitiveBlend1(
D2D1_PRIMITIVE_BLEND primitiveBlend
);
Paramètres
primitiveBlend
Type : D2D1_PRIMITIVE_BLEND
Mélange primitif qui s’appliquera aux primitives suivantes.
Valeur retournée
Type : HRESULT
Si la méthode réussit, elle retourne S_OK. En cas d’échec, elle retourne un code d’erreur HRESULT .
Remarques
Modes de fusion
Pour le rendu avec alias (à l’exception du mode MIN), la valeur de sortie O est calculée en interpolant linéairement le mélange de valeurs (S, D) avec la valeur du pixel de destination, en fonction de la quantité que la primitive couvre le pixel de destination.Le tableau ci-dessous présente les modes de fusion primitifs pour le mélange avec alias et anticrénelage. Les équations répertoriées dans le tableau utilisent les éléments suivants :
- O = Sortie
- S = Source
- SA = Source Alpha
- D = Destination
- DA = Destination Alpha
- C = Couverture des pixels
Mode de fusion primitif | Fusion avec alias | Mélange anticrénelé | Description |
---|---|---|---|
D2D1_PRIMITIVE_BLEND_SOURCE_OVER | O = (S + (1 – SA) * D) * C + D * (1 – C) | O = S * C + D *(1 – SA *C) | Mode de fusion source sur destination standard. |
D2D1_PRIMITIVE_BLEND_COPY | O = S * C + D * (1 – C) | O = S * C + D * (1 – C) | La source est copiée vers la destination ; les pixels de destination sont ignorés. |
D2D1_PRIMITIVE_BLEND_MIN | O = Min(S + 1-SA, D) | O = Min(S * C + 1 – SA *C, D) | Les valeurs de pixels obtenues utilisent les valeurs minimales des pixels source et de destination. Disponible dans Windows 8 et versions ultérieures. |
D2D1_PRIMITIVE_BLEND_ADD | O = (S + D) * C + D * (1 – C) | O = S * C + D | Les valeurs de pixels obtenues sont la somme des valeurs des pixels source et de destination. Disponible dans Windows 8 et versions ultérieures. |
Le mélange primitif s’applique à toutes les primitives dessinées sur le contexte, sauf si cela est remplacé par le paramètre compositeMode sur l’API DrawImage .
Le mélange primitif s’applique à l’intérieur de toutes les primitives dessinées sur le contexte. Dans le cas de DrawImage, cela est impliqué par le rectangle d’image, le décalage et la transformation du monde.
Si le mélange primitif n’est pas D2D1_PRIMITIVE_BLEND_OVER le rendu ClearType est désactivé. Si l’application force explicitement le rendu ClearType dans ces modes, le contexte de dessin est placé dans un état d’erreur. D2DERR_WRONG_STATE seront retournés par EndDraw ou Flush.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8.1 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1_2.h |