Método ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F&,D2D1_ANTIALIAS_MODE) (d2d1.h)

Especifica un rectángulo al que se recortan todas las operaciones de dibujo posteriores.

Sintaxis

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

Parámetros

clipRect

Tipo: [in] const D2D1_RECT_F &

El tamaño y la posición del área de recorte, en píxeles independientes del dispositivo.

antialiasMode

Tipo: [in] D2D1_ANTIALIAS_MODE

Modo de suavizado de contorno que se usa para dibujar los bordes de los rectángulos de recorte que tienen límites de subpixel y para combinar el clip con el contenido de la escena. La combinación se realiza una vez cuando se llama al método PopAxisAlignedClip y no se aplica a cada primitivo dentro de la capa.

Valor devuelto

None

Observaciones

ClipRect se transforma mediante la transformación del mundo actual establecida en el destino de representación. Después de aplicar la transformación al clipRect que se pasa, se calcula el cuadro de límite alineado con el eje para clipRect . Para mejorar la eficacia, el contenido se recorta en este rectángulo delimitador alineado con el eje y no en el clipRect original que se pasa.

En los diagramas siguientes se muestra cómo se aplica una transformación de rotación al destino de representación, el clipRect resultante y un rectángulo delimitador alineado con el eje calculado.

  1. Supongamos que el rectángulo de la ilustración siguiente es un destino de representación alineado con los píxeles de pantalla. Ilustración de un rectángulo (destino de representación)
  2. Aplique una transformación de rotación al destino de representación. En la ilustración siguiente, el rectángulo negro representa el destino de representación original y el rectángulo discontinuo rojo representa el destino de representación transformado. Ilustración de un rectángulo girado (destino de representación transformado)
  3. Después de llamar a PushAxisAlignedClip, la transformación de rotación se aplica al clipRect. En la ilustración siguiente, el rectángulo azul representa el clipRect transformado. Ilustración de un rectángulo azul pequeño (clipRect transformado) dentro de un rectángulo girado
  4. Se calcula el rectángulo de selección alineado con el eje. El rectángulo discontinuo verde representa el rectángulo delimitador de la ilustración siguiente. Todo el contenido se recorta en este rectángulo delimitador alineado con el eje. Ilustración de un rectángulo delimitador verde alrededor de un rectángulo azul pequeño dentro de un rectángulo girado
Nota Si se produce un error en las operaciones de representación o si no se llama a PopAxisAlignedClip , los rects de recorte pueden provocar algunos artefactos en el destino de representación. PopAxisAlignedClip se puede considerar una operación de dibujo diseñada para corregir los bordes de una región de recorte. Sin esta llamada, es posible que los bordes de un área recortada no estén suavizados ni corregidos de otro modo.
 
PushAxisAlignedClip y PopAxisAlignedClip deben coincidir. De lo contrario, se establece el estado de error. Para que el destino de representación siga recibiendo nuevos comandos, puede llamar a Flush para borrar el error.

Un par PushAxisAlignedClip y PopAxisAlignedClip pueden producirse alrededor o dentro de pushLayer y PopLayer, pero no se pueden superponer. Por ejemplo, la secuencia de PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip es válida, pero la secuencia de PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer no es válida.

Este método no devuelve un código de error si se produce un error. Para determinar si se produjo un error en una operación de dibujo (como PushAxisAlignedClip), compruebe el resultado devuelto por los métodos ID2D1RenderTarget::EndDraw o ID2D1RenderTarget::Flush .

Requisitos

   
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d2d1.h
Library D2d1.lib
Archivo DLL D2d1.dll

Consulte también

ID2D1RenderTarget