Características nuevas
En las secciones siguientes se describen varias de las nuevas características de Windows GDI+.
- Pinceles de degradado
- Splines cardinales
- Objetos de ruta de acceso independientes
- Transformaciones y el objeto Matrix
- Regiones escalables
- Combinación alfa
- Compatibilidad con varios formatos de imagen
Pinceles de degradado
GDI+ se expande en windows Graphics Device Interface (GDI) proporcionando pinceles de degradado lineal y degradado de trazado para rellenar formas, rutas de acceso y regiones. Los pinceles de degradado también se pueden usar para dibujar líneas, curvas y trazados. Cuando se rellena una forma con un pincel degradado lineal, el color cambia gradualmente a medida que se mueve por la forma. Por ejemplo, supongamos que crea un pincel de degradado horizontal especificando azul en el borde izquierdo de una forma y verde en el borde derecho. Al rellenar esa forma con el pincel degradado horizontal, cambiará gradualmente de azul a verde a medida que se mueve de su borde izquierdo a su borde derecho. Del mismo modo, una forma rellenada con un pincel degradado vertical cambiará el color a medida que se mueve de arriba a abajo. En la ilustración siguiente se muestra una elipse rellenada con un pincel degradado horizontal y una región rellenada con un pincel de degradado diagonal.
Al rellenar una forma con un pincel degradado de trazado, tiene una variedad de opciones para especificar cómo cambian los colores a medida que se mueve de una parte de la forma a otra. Una opción es tener un color central y un color de límite para que los píxeles cambien gradualmente de un color a otro a medida que se mueve desde el centro de la forma hacia los bordes externos. En la ilustración siguiente se muestra una ruta de acceso (creada a partir de un par de splines Bézier) rellenada con un pincel degradado de trazado.
Curvas spline cardinales
GDI+ admite splines cardinales, que no se admiten en GDI. Una curva spline cardinal es una secuencia de curvas individuales unidas para formar una curva mayor. La spline se especifica mediante una matriz de puntos y pasa por cada punto de esa matriz. Una spline cardinal pasa suavemente (sin esquinas nítidas) a través de cada punto de la matriz y, por tanto, es más refinado que un trazado creado conectando líneas rectas. En la ilustración siguiente se muestran dos rutas de acceso, una creada mediante la conexión de líneas rectas y otra creada como una spline cardinal.
Objetos de ruta de acceso independientes
En GDI, una ruta de acceso pertenece a un contexto de dispositivo y la ruta de acceso se destruye a medida que se dibuja. Con GDI+, el dibujo se realiza mediante un objeto Graphics y se pueden crear y mantener varios objetos GraphicsPath que son independientes del objeto Graphics . Un objeto GraphicsPath no se destruye mediante la acción de dibujo, por lo que puede usar el mismo objeto GraphicsPath para dibujar una ruta de acceso varias veces.
Transformaciones y el objeto Matrix
GDI+ proporciona el objeto Matrix , una herramienta eficaz que hace que las transformaciones (rotaciones, traducciones, etc.) sean fáciles y flexibles. Un objeto de matriz funciona junto con los objetos que se transforman. Por ejemplo, un objeto GraphicsPath tiene un método GraphicsPath::Transform que recibe la dirección de un objeto Matrix como argumento. Una sola matriz 3×3 puede almacenar una transformación o una secuencia de transformaciones. En la ilustración siguiente se muestra una ruta de acceso antes y después de una secuencia de dos transformaciones (primera escala y, a continuación, girar).
Regiones escalables
GDI+ se expande en gran medida en GDI con su compatibilidad con regiones. En GDI, las regiones se almacenan en coordenadas del dispositivo y la única transformación que se puede aplicar a una región es una traducción. GDI+ almacena regiones en coordenadas del mundo y permite que una región se someta a cualquier transformación (escalado, por ejemplo) que se puede almacenar en una matriz de transformación. En la ilustración siguiente se muestra una región antes y después de una secuencia de tres transformaciones: escala, rotación y traducción.
Combinación alfa
Tenga en cuenta que, en la figura anterior, puede ver la región no transformada (rellena con rojo) a través de la región transformada (rellena con un pincel de sombreado). Esto es posible mediante la combinación alfa, que es compatible con GDI+. Con combinación alfa, puede especificar la transparencia de un color de relleno. Un color transparente se combina con el color de fondo: cuanto más transparente se haga un color de relleno, más se mostrará el fondo. En la ilustración siguiente se muestran cuatro puntos suspensivos que se rellenan con el mismo color (rojo) en distintos niveles de transparencia.
Compatibilidad con varios formatos de imagen
GDI+ proporciona las clases Image, Bitmap y Metafile , que permiten cargar, guardar y manipular imágenes en diversos formatos. Se admiten los siguientes formatos:
- BMP
- Formato de intercambio de gráficos (GIF)
- JPEG
- Exif
- PNG
- TIFF
- ICON
- WMF
- EMF