1 / 26

JAVA 2D – CC60H

JAVA 2D – CC60H. Víctor González T. Cristian Vásquez P. JAVA 2D. Introducción. Provee un marco flexible Es independiente del dispositivo Extiende AWT Provee mecanismos uniformes para la manipulación de los objetos. JAVA 2D. Sus objetivos:.

makaio
Download Presentation

JAVA 2D – CC60H

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JAVA 2D – CC60H Víctor González T. Cristian Vásquez P.

  2. JAVA 2D Introducción • Provee un marco flexible • Es independiente del dispositivo • Extiende AWT • Provee mecanismos uniformes para la manipulación de los objetos

  3. JAVA 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

  4. JAVA 2D Características: Manejo de Gráficos • Antialised rendering

  5. JAVA 2D Características: Manejo de Gráficos (Cont.) • Estilos de Relleno arbitrarios

  6. JAVA 2D Características: Manejo de Gráficos (Cont.) • Transparencias y Sobreposiciones

  7. JAVA 2D Características: Manejo de Gráficos (Cont.) • Distintas Formas de Trazos

  8. JAVA 2D Características: Manejo de Gráficos (Cont.) • Transformaciones (traslación, rotación, escalamiento o deformaciones)

  9. JAVA 2D Características: Manejo de Gráficos (Cont.) • Bezier path

  10. JAVA 2D Características: Manejo de Texto • Soporte extendido para tipografías

  11. JAVA 2D Características: Manejo de Texto (Cont.) • Soporte Extendido para despliegue de tipografías

  12. JAVA 2D Características: Manejo de Imágenes • In-Despliegue de Imágenes en Memoria

  13. JAVA 2D Características: Manejo de Imágenes (Cont.) • Operaciones avanzadas sobre imágenes

  14. JAVA 2D Características: Dispositivos • Soporte Transparente para dispositivos gráficos

  15. JAVA 2D Características: Manejo de color • Soporte estándar ICC • espacios de color arbitrarios

  16. JAVA 2D Características: Manejo de color (Cont.) • Conversión de colores

  17. JAVA 2D Breve Descripción de la API Java.awt.color java.awt.font java.awt.geom java.awt.print com.sun.images.codec.jpeg java.awt.image.renderable

  18. JAVA 2D Breve Descripción de la API (Cont). Java.awt Java awt.image

  19. JAVA 2D Ejemplos: Manejo de Gráficos (1) redtowhite = new GradientPaint(x,y,red,x+rectWidth, y,white); g2.setPaint(redtowhite); g2.fill (new Ellipse2D.Double(x, y, rectWidth, rectHeight));

  20. JAVA 2D Ejemplos: Manejo de Gráficos (2) for (int N = 0; N < 18; N++) { float i = (N + 2) / 2.0f;float x = (float) (5+i*(w/2/10)); float y = (float) (5+i*(h/2/10));float ew = (w-10)-(i*w/10); float eh = (h-10)-(i*h/10); float 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)); }

  21. JAVA 2D Ejemplos: Manejo de Gráficos (3) GeneralPath filledPolygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, 4); filledPolygon.moveTo(x,y); filledPolygon.lineTo(x+d, y+d); filledPolygon.lineTo(x, y+d); filledPolygon.lineTo(x+d, y); filledPolygon.closePath(); g2.setPaint(red); g2.fill(filledPolygon);

  22. JAVA 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(ew+1, eh-29, 15.0, 15.0); leaf1 = new Area(leaf); leaf2.intersect(leaf1); g2.fill(leaf2);

  23. JAVA 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/2+sh/2)); g2.setColor(Color.black);g2.draw(sha); g2.setColor(Color.red);g2.fill(sha);

  24. JAVA 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,BufferedImage.TYPE_INT_RGB); Kernel kernel = new Kernel(3,3,SHARPEN3x3); ConvolveOp cop = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); cop.filter(src,dest);

  25. JAVA 2D Ejemplos: Manejo de Imágenes (2) byte reverse[] = new byte[256]; for (int j=0; j<200; j++){ reverse[j]=(byte)(256-j); } ByteLookupTable blut=new ByteLookupTable(0, reverse); LookupOp lop = new LookupOp(blut, null); lop.filter(src,dest);

  26. JAVA 2D FIN

More Related