Condividi tramite


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 primitive direct2d con opacità e sfondi variabili.

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]

Vedi anche

ID2D1CommandSink1