Condividi tramite


Metodo ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F&,D2D1_ANTIALIAS_MODE) (d2d1.h)

Specifica un rettangolo in cui vengono ritagliate tutte le operazioni di disegno successive.

Sintassi

void PushAxisAlignedClip(
  const D2D1_RECT_F & clipRect,
  D2D1_ANTIALIAS_MODE antialiasMode
);

Parametri

clipRect

Tipo: [in] const D2D1_RECT_F &

Dimensioni e posizione dell'area di ritaglio, in pixel indipendenti dal dispositivo.

antialiasMode

Tipo: [in] D2D1_ANTIALIAS_MODE

Modalità di antialiasing utilizzata per disegnare i bordi delle recte di clip con limiti di subpixel e per unire il clip con il contenuto della scena. La fusione viene eseguita una volta quando viene chiamato il metodo PopAxisAlignedClip e non si applica a ogni primitiva all'interno del livello.

Valore restituito

nessuno

Osservazioni

Il clipRect viene trasformato dalla trasformazione globale corrente impostata sulla destinazione di rendering. Dopo l'applicazione della trasformazione al clipRect passato, viene calcolato il rettangolo di selezione allineato all'asse per clipRect . Per un'efficienza, il contenuto viene ritagliato in questo rettangolo di delimitazione allineato all'asse e non al clipRect originale passato.

I diagrammi seguenti illustrano come viene applicata una trasformazione di rotazione alla destinazione di rendering, alla clipRect risultante e a un rettangolo di selezione allineato all'asse calcolato.

  1. Si supponga che il rettangolo nella figura seguente sia una destinazione di rendering allineata ai pixel dello schermo. Illustrazione di un rettangolo (destinazione di rendering)
  2. Applicare una trasformazione di rotazione alla destinazione di rendering. Nella figura seguente il rettangolo nero rappresenta la destinazione di rendering originale e il rettangolo tratteggiato rosso rappresenta la destinazione di rendering trasformata. Illustrazione di un rettangolo ruotato (destinazione di rendering trasformata)
  3. Dopo aver chiamato PushAxisAlignedClip, la trasformazione di rotazione viene applicata alla clipRect. Nella figura seguente il rettangolo blu rappresenta il clipRect trasformato. Illustrazione di un piccolo rettangolo blu (clipRect trasformato) all'interno di un rettangolo ruotato
  4. Viene calcolato il rettangolo di selezione allineato all'asse. Il rettangolo tratteggiato verde rappresenta il rettangolo delimitatore nella figura seguente. Tutti i contenuti vengono ritagliati in questo rettangolo di selezione allineato all'asse. Illustrazione di un rettangolo delimitatore verde intorno a un piccolo rettangolo blu all'interno di un rettangolo ruotato
Nota Se le operazioni di rendering hanno esito negativo o se PopAxisAlignedClip non viene chiamato, è possibile che alcuni elementi vengano visualizzati nella destinazione di rendering. PopAxisAlignedClip può essere considerato un'operazione di disegno progettata per correggere i bordi di un'area di ritaglio. Senza questa chiamata, i bordi di un'area ritagliata potrebbero non essere antialiased o corretti in altro modo.
 
PushAxisAlignedClip e PopAxisAlignedClip devono corrispondere. In caso contrario, lo stato di errore è impostato. Affinché la destinazione di rendering continui a ricevere nuovi comandi, è possibile chiamare Flush per cancellare l'errore.

Una coppia PushAxisAlignedClip e PopAxisAlignedClip può verificarsi intorno o all'interno di un oggetto PushLayer e PopLayer, ma non può sovrapporsi. Ad esempio, la sequenza di PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip è valida, ma la sequenza di PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer non è valida.

Questo metodo non restituisce un codice di errore in caso di errore. Per determinare se un'operazione di disegno (ad esempio PushAxisAlignedClip) non è riuscita, controllare il risultato restituito dai metodi ID2D1RenderTarget::EndDraw o ID2D1RenderTarget::Flush .

Requisiti

   
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1.h
Libreria D2d1.lib
DLL D2d1.dll

Vedi anche

ID2D1RenderTarget