0% encontró este documento útil (0 votos)
33 vistas

Expo Java 2D

El documento describe la API de Java 2D, la cual proporciona capacidades de gráficos 2D, texto e imágenes para programas Java. La API incluye clases para dibujar primitivas geométricas como puntos, líneas, curvas y rectángulos, y permite transformar formas, texto e imágenes mediante movimientos, rotaciones y escalado.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas

Expo Java 2D

El documento describe la API de Java 2D, la cual proporciona capacidades de gráficos 2D, texto e imágenes para programas Java. La API incluye clases para dibujar primitivas geométricas como puntos, líneas, curvas y rectángulos, y permite transformar formas, texto e imágenes mediante movimientos, rotaciones y escalado.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 26

Oscar Alfonso Molina Castro

Josué Manzano Acuña


Alfonso Orrantia Vega
Andrés Estrada Béjar
API de Java 2D
API de Java 2D
• La API de Java ™ 2D
proporciona gráficos de dos
dimensiones, texto, y
capacidades de imágenes para
los programas de Java ™ a
través de extensiones de la
Guía de ventana de Resumen
(AWT). Este paquete de
representación completa
soporta gráficos de línea,
el texto y las imágenes de
forma flexible,
completamente equipado de
marco para el desarrollo de
interfaces de usuario más
rica, programas de dibujo
sofisticados y editores de
imágenes.
API de Java 2D
• La gran mayoría de
usos de la API de
Java 2D utilizan
un pequeño
subconjunto de sus
capacidades de
encapsulado en la
clase java.awt.
Primitivas de dibujo geométerico
• La API de Java ™ 2D
proporciona varias
clases que definen
los objetos
geométricos comunes,
tales como puntos,
líneas, curvas, y
rectángulos. Estas
clases de geometría
son parte del
paquete de
java.awt.geom.
Punto
• La clase Point crea un punto que representa una
ubicación en (x, y) un espacio de coordenadas. Las
subclases Point2D.Float y Point2D.Double proporcionar
correspondiente float y doble precisión para almacenar
las coordenadas del punto.
// Crear Point2D.Double
Point2D.Double point = new Point2D.Double(x, y);
Liínea

• La clase Line2D representa un segmento de línea en (x,


y) un espacio de coordenadas. El Line2D.Float y
subclases Line2D.Double especificar las líneas de
flotación y doble precisión.
Line2D.Float(float X1, float Y1, float X2, float
Y2)
Line2D.Float(Point2D p1, Point2D p2)
Curvas
• // Crear nuevos
QuadCurve2D.Float QuadCurve2D
q = new QuadCurve2D.Float(); //
Dibujar QuadCurve2D.Float con
conjunto de coordenadas
q.setCurve(x1, y1, ctrlx,
ctrly, x2, y2); g2.draw (q);

// Crear nuevos
CubicCurve2D.Double CubicCurve2D
c = new
CubicCurve2D.Double(); //Dibujar
CubicCurve2D.Double con conjunto
de coordenadas c.setCurve(x1,
y1, ctrlx1,ctrly1, ctrlx2,
ctrly2, x2, y2); g2.draw(c);
Rectáangulo
• La clase Rectangle2D
representa un rectángulo
definido por una
localización (x, y) y la
dimensión (ancho x alto).
La Rectangle2D.Float y
subclases
Rectangle2D.Double
especificar un rectángulo
en float y doble precisión.

//Dibujar Rectangle2D.Double
g2.draw(newRectangle2D.Double(x,y,rectwidth,rectheight));
Elipse
• La clase Ellipse2D representa una
elipse definida por un rectángulo.
Elipse está totalmente definido
por un lugar, una anchura y una
altura.
Arco

• Para elaborar una pieza de una elipse, se


utiliza la clase Arc2D. Esta clase representa
un arco definido por un rectángulo, un ángulo
de inicio, una medida angular, y un tipo de
cierre.
Transformar formas, texto e imágenes
• Usted puede modificar la transformación de atributos
en el contexto Graphics2D para mover, rotar, escalar,
y de corte gráficos primitivos cuando son dictadas.
• La clase Graphics2D proporciona varios métodos para
modificar la transformación de atributos.

• rotate - para especificar un ángulo de rotación en


radianes
• scale - para especificar un factor de escala en las
direcciones X e Y
• shear - para especificar un factor de rotura en las
direcciones X e Y
• translate - para especificar un desplazamiento de
traducción en las direcciones X e Y
EJEMPLO_
Dibujando el fondo
• El primer paso es dibujar el fondo
de la imagen, notarás que es un
rectángulo con esquinas
redondeadas, resulta que esta
figura es una una de las figuras
básicas que Java2D provee, por lo
tanto soportada por
GraphicsBuilder.
Dibujando lineas radiales
• Continuamos con el siguiente paso, dibujar
líneas radiales. Es obvio que tendremos que
hacer uso de algo de álgebra y trigonometría
para calcular ángulos y radios, dado que
Java2D no provee una figura base para este
tipo de operación, afortunadamente
GraphicsBuilder si lo hace. Rays es una
figura que requiere de un centro (cx,cy) y un
radio como mínimo, también puedes definir el
número de rayos a dibujar, la extensión del
ángulo de cada rayo, así como el ángulo de
rotación inicial.
Cambio de color proveniente del
centro
• Notarás que la imagen final tiene un ligero
cambio de color proveniente del centro,
usaremos un gradiente radial para obtener ese
efecto, lo cual es una excusa perfecta para
introducir multipaints. Como su nombre
sugiere, miltupaints es una colección de
pinturas que se aplican a la misma figura al
mismo tiempo, en este caso un color base y un
gradiente radial. El gradiente require de un
centro (cx,cy), un radio, y al menos 2
deficiones de 'paradas'; una parada define la
posición y el color a usar.
Dibujando la estrella
• Desgraciadamente Java2D no provee
una figura básica para dibujarlas,
no sería genial que
GraphicsBuilder lo hiciera? por
supuesto que si! Star tiene
atributos similares a Rays, la
diferencia estriba en cuantos
puntos tendrá la estrella y que
ésta requiere de dos radios,
interior y exterior.
Dibujando el texto
• Ya estamos en el paso final, dibujar
las palabras "Groovy" y "Zone", las
cuales tienen unos agradables
gradientes y un border blanco.
Tendremos que hacer uso de un truco en
este caso, en vez de definir valores
para el borde dibujaremos el texto en
color blanco detrás del texto en azul,
puesto que la fuente que escogí en
particular dibuja el borde de todas las
letras y lo que nos interesa es solo el
contorno de la palabra.
• Basta el toque final, dibujar el
texto en color blanco y listo.
Insertando el siguiente código
entre la definición de la fuente y
el primer texto azul será
suficiente
_
CONCLUSIONES

También podría gustarte