Metodo ID2D1CommandSink1::SetPrimitiveBlend1
Imposta una nuova modalità di fusione primitiva.
Sintassi
HRESULT SetPrimitiveBlend1(
D2D1_PRIMITIVE_BLEND primitiveBlend
);
Parametri
-
primitiveBlend
-
Tipo: D2D1_PRIMITIVE_BLEND
Fusione primitiva che verrà applicata alle primitive successive.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, restituisce S_OK. Se ha esito negativo, restituisce un codice di errore HRESULT .
Commenti
Fusione
Per il rendering con alias (ad eccezione della modalità MIN), il valore di output O viene calcolato interpolando in modo lineare la fusione di valori (S, D) con il valore del pixel di destinazione, in base alla quantità che la primitiva copre il pixel di destinazione.
La tabella seguente mostra le modalità di fusione primitive per la fusione con alias e antialias. Le equazioni elencate nella tabella usano questi elementi:
- O = Output
- S = Origine
- SA = Alfa di origine
- D = Destinazione
- DA = Alpha di destinazione
- C = Copertura pixel
Modalità blend primitiva | Fusione con alias | Miscela antialiased | Descrizione |
---|---|---|---|
D2D1_PRIMITIVE_BLEND_SOURCE_OVER | O = (S + (1 SA) * D) * C + D * (1 C) | O = S * C + D *(1 SA *C) | Modalità di fusione di origine su destinazione standard. |
D2D1_PRIMITIVE_BLEND_COPY | O = S * C + D * (1 C) | O = S * C + D * (1 C) | L'origine viene copiata nella destinazione; i pixel di destinazione vengono ignorati. |
D2D1_PRIMITIVE_BLEND_MIN | O = Min(S + 1-SA, D) | O = Min(S * C + 1 SA *C, D) | I valori pixel risultanti usano il valore minimo dei pixel di origine e di destinazione. Disponibile in Windows 8 e versioni successive. |
D2D1_PRIMITIVE_BLEND_ADD | O = (S + D) * C + D * (1 C) | O = S * C + D | I valori pixel risultanti sono la somma dei valori dei pixel di origine e di destinazione. Disponibile in Windows 8 e versioni successive. |
Illustrazione delle modalità di fusione primitiva con opacità e sfondi variabili.
La fusione primitiva verrà applicata a tutte le primitive disegnate nel contesto, a meno che non venga sottoposto a override con il parametro compositeMode nell'API DrawImage .
La fusione primitiva si applica all'interno di qualsiasi primitiva disegnata sul contesto. Nel caso di DrawImage, ciò sarà implicito nel rettangolo dell'immagine, nell'offset e nella trasformazione globale.
Se la fusione primitiva è diversa da D2D1_PRIMITIVE_BLEND_OVER , il rendering clearType verrà disattivato. Se l'applicazione forza in modo esplicito il rendering di ClearType in queste modalità, il contesto di disegno verrà inserito in uno stato di errore. D2DERR_WRONG_STATE verrà restituito da EndDraw o Flush.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 8.1 [app desktop | App UWP] |
Server minimo supportato |
Windows Server 2012 R2 [app desktop | App UWP] |
Telefono minimo supportato |
Windows Phone 8.1 [app Windows Phone Silverlight 8.1 e Windows Runtime] |