Metodo ID2D1CommandSink1::SetPrimitiveBlend1 (d2d1_2.h)
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 aliased (ad eccezione della modalità MIN), il valore di output O viene calcolato interpolando in modo lineare i valori blend (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 primitiva per la fusione aliased e antialiased. Le equazioni elencate nella tabella usano questi elementi:
- O = Output
- S = Origine
- SA = Source Alpha
- D = Destinazione
- DA = Destinazione Alfa
- C = Copertura pixel
Modalità di fusione 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à blend di origine over-destination 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 dei pixel risultanti usano il valore minimo dei pixel di origine e 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 dei pixel risultanti sono la somma dei valori di pixel di origine e destinazione. Disponibile in Windows 8 e versioni successive. |
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 nel contesto. Nel caso di DrawImage, questo sarà implicito dal rettangolo di immagine, offset e trasformazione del mondo.
Se la fusione primitiva è diversa da D2D1_PRIMITIVE_BLEND_OVER , il rendering di 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] |
Piattaforma di destinazione | Windows |
Intestazione | d2d1_2.h |