Partager via


ID2D1CommandSink1::SetPrimitiveBlend1, méthode

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 .

Notes

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.

illustration des modes de fusion primitive direct2d avec une opacité et des arrière-plans variables.

Illustration des modes de fusion primitifs avec une opacité et des arrière-plans variables.

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 à partir de EndDraw ou Flush.

Spécifications

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]
Téléphone minimal pris en charge
Windows Phone 8.1 [applications Windows Phone Silverlight 8.1 et Windows Runtime]

Voir aussi

ID2D1CommandSink1