Tutorial Java 2D



Índice

Prólogo. ......................................................v
Capítulo 1: Introducción. .....................................1
1.1 Descripción del capítulo. .... .. .... .... .... .... .... 1
1.2 Renderizado con Graphics2D. .. .... .... .... .... .... ...1
1.2.1 Atributos de pincel. ... .... .... .... .... .... .... ..3
1.2.2 Atributos de relleno. .. .... .... .... .... .... .... ..4
1.2.3 La porción a dibujar. .. .... .... .... .... .... .... ..4
1.2.4 Transformaciones. .... .... .... .... .... .... .... ....4
1.2.5 Métodos de composición. .... .... .... .... .... .... ...5
1.3 ¿Qué puede dibujarse?.... .... .... .... .... .... .... ...6
1.3.1 Figuras geométricas. .. .... .... .... .... .... .... ...6
1.3.1.1 Conceptos. .... .. .... .... .... .... .... .... .... .7
1.3.2 Fuentes y diseño de texto. .... .... .... .... .... .... 8
1.3.3 Tratamiento de imágenes. .... .... .... .... .... .... ..10
1.4 Tratamiento del color. .... .... .... .... .... .... .... .11
Capítulo 2: Renderizado de imágenes con Graphics2D. . . . . .  15
2.1 Introducción. .... .... .... .. .... .... .... .... .... ..15
2.1.1 Ejemplo preliminar. .. .... .... .... .... .... .... ....15
2.2 El contexto..... .... .... .... .... .... .... .... .... ..17
2.3 El sistema de coordenadas de Java2D.. . . . . . . . . . . .18
2.3.1 Coordenadas de usuario. .... .... .... .... .... .... ...18
2.3.2 Coordenadas de dispositivo. . . . . . . . . . . . . . . .18
2.4 Un paso adelante: el canal alfa. .. .... .... .... .... ...20
2.5 Modificación del contexto de Graphics2D. . . . . . . . . . 22
2.5.1 Preferencias, pinceles y colores.. . . . . . . . . . . . 22
2.5.1.1 Preferencias. .... .. .... .... .... .... .... .... ...23
2.5.1.2 Especificar el estilo de línea.. . . . . . . . . . . . 24
2.5.1.3 Especificación de los atributos de relleno. . . . . . .28
2.5.1.3.1 Gradiente de color .. . . . . . . . . . . . . . . . .28
2.5.1.3.2 Relleno con texturas.. . . . . . . . . . . . . . . . 29
2.5.2 Establecimiento del clipping path. .... .... .... .... ..31
2.5.3 Transformaciones de objetos.. . . . . . . . . . . . . . .32
2.5.4 Composición de objetos gráficos. . . . . . . . . . . . . 34
Capítulo 3: Figuras geométricas en Java2D. . . . . . . . . . . 39
3.1 Introducción. .... .... .... .. .... .... .... .... .... ..39
3.2 Figuras básicas..... .... .... .. .... .... .... .... .... 39
3.2.1 Line2D. .... .... .... .... .... .... .... .... .... ....39
3.2.2 Rectangle2D..... .... .... .... .... .... .... .... .... 40
3.2.3 RoundRectangle2D. .. .... .... .... .... .... .... .... .41
3.2.4 Ellipse2D. .... .... .. .... .... .... .... .... .... ...42
3.2.5 Arc2D. .... .... .... .... .... .... .... .... .... .... 42
3.2.6 QuadCurve2D . .... .. .... .... .... .... .... .... .... 43
3.2.7 CubicCurve2D . .... .. .... .... .... .... .... .... ....45
3.2.8 Point2D. .... .... ... .... .... .... .... .... .... ....46
3.2.9 Resumen de clases relacionadas con figuras geométricas. .47
3.3 Un primer ejemplo compuesto: bañera. . . . . . . . . . . . 48
3.4 La interfaz Shape. .... .... ... .... .... .... .... .... .48
3.4.1 Otra manera de construir figuras: GeneralPath. . . . . . 50
3.4.2 Figuras geométricas a la medida: la bañera. . . . . . . .51
3.4.3 Áreas Geométricas Constructivas (CAG). . . . . . . . . . 55
3.4.3.1 Sherezade en el crepúsculo. . . . . . . . . . . . . . .57
3.5 JOGL (Java/OpenGL). .... ... .... .... .... .... .... .... 58
Capítulo 4: Tratamiento de texto con Java2D. . . . . . . . . . 61
4.1 Introducción. .... .... .... .. .... .... .... .... .... ..61
4.2 ¿Cómo encontrar las fuentes?. .. .... .... .... .... .... .62
4.2.1 Crear y derivar fuentes. .... .... .... .... .... .... ..63
4.3 Dibujar texto. .... .... .... .. .... .... .... .... .... .63
4.3.1 Dibujar una única línea de texto. . . . . . . . . . . . .63
4.3.2 Dibujar un párrafo completo. . . . . . . . . . . . . . . 66
4.3.3 Cómo dibujar texto sobre una imagen. . . . . . . . . . . 70
4.3.4 Letra cursiva invertida mediante transformaciones. . . . 73
4.3.5 Rellenar un clipping path con distintos objetos. . . . . 74
4.4 Manejo de la clase TextAttribute. . . . . . . . . . . . . .77
Capítulo 5: Imágenes con Java2D. ..............................81
5.1 Introducción. .... .... .... .. .... .... .... .... .... ..81
5.2 Obtención de imágenes. .... .. .... .... .... .... .... ...81
5.2.1 Cargar una imagen. ... .... .... .... .... .... .... ....81
5.2.2 Cargar una imagen como BufferedImage. . . . . . . . . . .83
5.2.3 Crear imágenes. .... .. .... .... .... .... .... .... ...85
5.3 Mostrar una imagen. .... .... .. .... .... .... .... .... .87
5.4 La clase MediaTracker. .... ... .... .... .... .... .... ..88
5.5 Dibujar sobre imágenes. .... .. .... .... .... .... .... ..89
5.5.1 Double Buffering (dibujo en memoria). . . . . . . . . . .91
5.6 Procesamiento de imágenes. ... .... .... .... .... .... ...93
5.6.1 Operaciones predefinidas. .... .... .... .... .... .... .93
5.6.1.1 ConvolveOp. .... .... .... .... .... .... .... .... .. 94
5.6.1.2 AffineTransformOp. .... .... .... .... .... .... .... .99
5.6.1.3 LookupOp. .... .. .... .... .... .... .... .... .... . 100
5.6.1.4 RescaleOp. .... .. .... .... .... .... .... .... .... .107
5.6.1.5 ColorConvertOp. .. .... .... .... .... .... .... ....  112
5.6.2 Dentro de BufferedImage. .... .... .... .... .... .... ..115
Capítulo 6: El color en Java2D. .......................        117
6.1 Introducción. .... .... .... .. .... .... .... .... .... ..117
6.2 Cómo crear un color. .... .... .... .... .... .... .... ...117
6.2.1 Un ejemplo con colores. .... .... .... .... .... .... ...119
6.3 Espacios de Colores. .... .... .. .... .... .... .... .... 121
6.3.1 El espacio de colores CIEXYZ. . . . . . . . . . . . . . .121
6.3.2 El espacio de colores sRGB . . . . . . . . . . . . . . . 122
6.4 La clase ColorSpace. .... .... .. .... .... .... .... .... 122
6.5 Perfiles. .... .... .... .... .. .... .... .... .... .... .124
6.6 La verdad sobre el color. .... .. .... .... .... .... .... 125

Visualizar y Descargar: Java-2D a Tope

Comentarios