Title: Presentacin de PowerPoint
1JAVA 2D CC60H
Víctor González T. Cristian Vásquez P.
2JAVA 2D
Introducción
- Provee un marco flexible
- Es independiente del dispositivo
- Extiende AWT
- Provee mecanismos uniformes para la manipulación
de los objetos
3JAVA 2D
Sus objetivos
- Permitir la construcción de aplicaciones con
interfaces gráficas avanzadas - Manejar gráficos, textos e imágenes de alta
calidad independiente de su plataforma - Conseguir una integración con las otras
tecnologías de Java
4JAVA 2D
Características Manejo de Gráficos
5JAVA 2D
Características Manejo de Gráficos (Cont.)
- Estilos de Relleno arbitrarios
6JAVA 2D
Características Manejo de Gráficos (Cont.)
- Transparencias y Sobreposiciones
7JAVA 2D
Características Manejo de Gráficos (Cont.)
- Distintas Formas de Trazos
8JAVA 2D
Características Manejo de Gráficos (Cont.)
- Transformaciones (traslación, rotación,
escalamiento o deformaciones)
9JAVA 2D
Características Manejo de Gráficos (Cont.)
10JAVA 2D
Características Manejo de Texto
- Soporte extendido para tipografías
11JAVA 2D
Características Manejo de Texto (Cont.)
- Soporte Extendido para despliegue de tipografías
12JAVA 2D
Características Manejo de Imágenes
- In-Despliegue de Imágenes en Memoria
13JAVA 2D
Características Manejo de Imágenes (Cont.)
- Operaciones avanzadas sobre imágenes
14JAVA 2D
Características Dispositivos
- Soporte Transparente para dispositivos gráficos
15JAVA 2D
Características Manejo de color
- Soporte estándar ICC
- espacios de color arbitrarios
16JAVA 2D
Características Manejo de color (Cont.)
17JAVA 2D
Breve Descripción de la API
Java.awt.color java.awt.font java.awt.geom java.aw
t.print com.sun.images.codec.jpeg java.awt.image.r
enderable
18JAVA 2D
Breve Descripción de la API (Cont).
Java.awt Java awt.image
19JAVA 2D
Ejemplos Manejo de Gráficos (1)
redtowhite new GradientPaint(x,y,red,xrectWidth
, y,white) g2.setPaint(redtowhite) g2.fill
(new Ellipse2D.Double(x, y, rectWidth,
rectHeight))
20JAVA 2D
Ejemplos Manejo de Gráficos (2)
for (int N 0 N lt 18 N) float i (N
2) / 2.0f float x (float) (5i(w/2/10))
float y (float) (5i(h/2/10)) float ew
(w-10)-(iw/10) float eh (h-10)-(ih/10) fl
oat alpha (N 0) ? 0.1f 1.0f / (19.0f -
N) g2.setColor(new Color(0f, 0f, 0f, alpha))
g2.fill(new Ellipse2D.Float(x,y,ew,eh))
21JAVA 2D
Ejemplos Manejo de Gráficos (3)
GeneralPath filledPolygon new
GeneralPath(GeneralPath.WIND_EVEN_ODD,
4) filledPolygon.moveTo(x,y) filledPolygon.lineT
o(xd, yd) filledPolygon.lineTo(x, yd)
filledPolygon.lineTo(xd, y) filledPolygon.closeP
ath() g2.setPaint(red) g2.fill(filledPolygon)
22JAVA 2D
Ejemplos Manejo de Gráficos (4)
Construcción de una pera (las hojas)
leaf new Ellipse2D.Double() leaf1 new
Area(leaf) leaf2 new Area(leaf) ...
leaf.setFrame(ew-16, eh-29, 15.0, 15.0) leaf1
new Area(leaf) leaf.setFrame(ew-14, eh-47,
30.0, 30.0) leaf2 new Area(leaf)
leaf1.intersect(leaf2) g2.fill(leaf1) ...
leaf.setFrame(ew1, eh-29, 15.0, 15.0) leaf1
new Area(leaf) leaf2.intersect(leaf1)
g2.fill(leaf2)
23JAVA 2D
Ejemplos Manejo de Texto (1)
FontRenderContext frc g2.getFontRenderContext()
f new Font("serif", Font.BOLD,w/6) t new
TextLayout("Outline", f, frc) sw (float)
t.getBounds().getWidth() sh (float)
t.getBounds().getHeight() sha
t.getOutline(AffineTransform.getTranslateInstance(
w/2-sw/2,h/2sh/2) ) g2.setColor(Color.black)
g2.draw(sha) g2.setColor(Color.red)
g2.fill(sha)
24JAVA 2D
Ejemplos Manejo de Imágenes (1)
public static final float SHARPEN3x3 0.f,
-1.f, 0.f, -1.f, 5.0f, -1.f, 0.f, -1.f,
0.f
BufferedImage dest new bufferedImage(iw,ih,Buffe
redImage.TYPE_INT_RGB) Kernel kernel new
Kernel(3,3,SHARPEN3x3) ConvolveOp cop new
ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null)
cop.filter(src,dest)
25JAVA 2D
Ejemplos Manejo de Imágenes (2)
byte reverse new byte256 for (int j0
jlt200 j) reversej(byte)(256-j)
ByteLookupTable blutnew ByteLookupTable(0,
reverse) LookupOp lop new LookupOp(blut,
null) lop.filter(src,dest)
26JAVA 2D
FIN