Alisar con líneas y curvas

Cuando utiliza GDI+ para dibujar una línea, proporciona el punto inicial y el punto final de la línea, pero no tiene que suministrar ninguna información sobre los píxeles individuales de la línea. GDI+ funciona junto con el software del controlador de vídeo para determinar qué píxeles se encenderán para mostrar la línea en un dispositivo de presentación determinado.

Aliasing (efecto escalonado)

Piense en la línea recta de color rojo que va del punto (4, 2) al punto (16, 10). Suponga que el sistema de coordenadas tiene su origen en la esquina superior izquierda y que la unidad de medida es el píxel. Suponga también que el eje x apunta hacia la derecha y que el eje y apunta hacia abajo. En la siguiente ilustración se muestra una vista ampliada de la línea roja dibujada sobre un fondo de varios colores.

Línea, sin suavizado (anti-aliasing)

Los píxeles rojos utilizados para representar la línea son opacos. No existen píxeles parcialmente transparentes en la línea. Este tipo de representación de línea le da a ésta una apariencia escalonada y la línea se asemeja un poco a una escalera. A esta técnica de representación de una línea con una escalera se le denomina "aliasing"; la escalera es un "alias" para la línea teórica.

Alisado

Una técnica más sofisticada para la representación de una línea implica el uso de píxeles parcialmente transparentes junto con píxeles opacos. Los píxeles se establecen en rojo puro, o en cierta mezcla de rojo y el color de fondo, dependiendo de lo próximos que estén de la línea. Este tipo de representación se denomina alisado y el resultado es una línea que el ojo humano percibe como más regular. En la siguiente ilustración se muestra la forma en que ciertos píxeles se mezclan con el fondo para generar una línea alisada.

Suavizar una línea

El alisado, también llamado suavizado, puede aplicarse también a curvas. En la siguiente ilustración se muestra una vista ampliada de una elipse suavizada.

Suavizar curvas

En la siguiente ilustración se muestra la misma elipse con su tamaño real, una vez sin alisado y otra con alisado.

Ejemplo de suavizado (anti-aliasing)

Para dibujar líneas y curvas que utilicen alisado, cree una instancia de la clase Graphics y establezca su propiedad SmoothingMode en AntiAlias o HighQuality. A continuación, hay que llamar a uno de los métodos de dibujo de la misma clase Graphics.

myGraphics.SmoothingMode = SmoothingMode.AntiAlias
myGraphics.DrawLine(myPen, 0, 0, 12, 8)
myGraphics.SmoothingMode = SmoothingMode.AntiAlias;
myGraphics.DrawLine(myPen, 0, 0, 12, 8);

Vea también

Tareas

Cómo: Utilizar la función de suavizado (anti-aliasing) con texto

Referencia

System.Drawing.Drawing2D.SmoothingMode

Otros recursos

Líneas, curvas y formas