Condividi tramite


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.
  Illustrazione delle modalità di fusione primitive Direct2D con opacità e sfondi diversi. Figura delle modalità di fusione primitiva con opacità e sfondi diversi.

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

Vedi anche

ID2D1CommandSink1