Compartir a través de


Rellenar regiones

Una aplicación rellena el interior de una región mediante una llamada a la función FillRgn y proporciona un identificador que identifica un pincel específico. Cuando una aplicación llama a FillRgn , el sistema rellena la región con el pincel mediante el modo de relleno actual para el contexto de dispositivo especificado. Hay dos modos de relleno: alterna y desenlazamiento. La aplicación puede establecer el modo de relleno para un contexto de dispositivo llamando a la función SetPolyFillMode . La aplicación puede recuperar el modo de relleno actual de un contexto de dispositivo llamando a la función GetPolyFillMode .

En la ilustración siguiente se muestran dos regiones idénticas: una rellena con el modo alternativo y la otra rellenada mediante el modo de devanado.

ilustración en la que se muestran dos estrellas de cinco puntas: una rellena solo en los puntos, la otra llena completamente

Modo alternativo

Para determinar en qué píxeles se resalta el sistema cuando se especifica el modo alternativo, realice la prueba siguiente:

  1. Seleccione un píxel dentro del interior de la región.
  2. Dibuje un rayo imaginario, en la dirección X positiva, desde ese píxel hacia el infinito.
  3. Cada vez que el rayo interseca una línea de límite, incremente un valor de recuento.

El sistema resalta el píxel si el valor de recuento es un número impar.

Modo de desvanado

Para determinar en qué píxeles se resalta el sistema al especificar el modo de desvanado, realice la prueba siguiente:

  1. Determine la dirección en la que se dibuja cada línea de límite.
  2. Seleccione un píxel dentro del interior de la región.
  3. Dibuje un rayo imaginario, en la dirección X positiva, desde el píxel hacia el infinito.
  4. Cada vez que el rayo interseca una línea de límite con un componente y positivo, incremente un valor de recuento. Cada vez que el rayo interseca una línea de límite con un componente y negativo, disminuye el valor de recuento.

El sistema resalta el píxel si el valor de recuento es distinto de cero.