Las tres partes de GDI+
Los servicios de GDI+ se engloban en tres amplias categorías:
- Gráficos vectoriales 2D
- Imágenes
- Tipografía
Gráficos vectoriales 2D
Los gráficos vectoriales están relacionados con el dibujo de tipos primitivos (como líneas, curvas y figuras) que se especifican mediante conjuntos de puntos en un sistema de coordenadas. Por ejemplo, una línea recta puede especificarse mediante sus dos extremos, y un rectángulo puede especificarse mediante un punto que indique la ubicación del borde superior izquierdo y un par de números que indiquen el ancho y el alto. Un trazado simple puede especificarse mediante una matriz de puntos que se van a conectar mediante líneas rectas. Una curva spline de Bézier es una curva sofisticada, especificada por cuatro puntos de control.
GDI+ proporciona clases (y estructuras) que almacenan información acerca de los propios tipos primitivos, las clases que almacenan información sobre la forma en que deben dibujarse los tipos primitivos y las clases que realmente realizan el dibujo. Por ejemplo, la estructura Rectangle almacena la ubicación y el tamaño de un rectángulo; la clase Pen almacena información sobre el color de línea, ancho de línea y estilo de línea; y la clase Graphics dispone de métodos para dibujar líneas, rectángulos, trazados y otras figuras. También existen varias clases Brush que almacenan información sobre la forma en que las figuras cerradas y los trazados van a rellenarse con colores o modelos.
Se puede registrar una imagen vectorial (una secuencia de comandos gráficos) en un metarchivo. GDI+ proporciona la clase Metafile para registrar, mostrar y guardar metarchivos. Las clases MetafileHeader y MetaHeader le permiten inspeccionar los datos almacenados en un encabezado de metarchivo.
Imágenes
Hay ciertos tipos de imágenes que no se pueden o son muy difíciles de mostrar con las técnicas de gráficos vectoriales. Por ejemplo, las imágenes de los botones de la barra de herramientas y las imágenes que aparecen en forma de iconos serían difíciles de especificar en forma de colecciones de líneas y curvas. Una fotografía digital de alta resolución de un estadio de béisbol abarrotado sería aún más difícil de crear con las técnicas vectoriales. Las imágenes de este tipo se almacenan como mapas de bits, matrices de números que representan los colores de puntos individuales de la pantalla. GDI+ proporciona la clase Bitmap para mostrar, manipular y guardar mapas de bits.
Tipografía
La tipografía se ocupa de la presentación de texto en diversidad de fuentes, tamaños y estilos. GDI+ proporciona una gran compatibilidad para esta tarea tan compleja. Una de las nuevas características de GDI+ es la función de alisado subpíxel, que proporciona una apariencia más regular al texto que se muestra en una pantalla LCD.