La API 2D Java proporciona a los programas Java con imágenes bidimensionales, capacidades de texto y gráficos a través de la extensión de la caja de herramientas de ventana abstracta (AWT). Este complejo paquete de representación admite imágenes lineales, texto y gráficos, proporcionando marcos flexibles y potentes para desarrolladores de interfaces de usuario ricas, programas de dibujo complejos y procesadores de imágenes. Los objetos 2D Java aparecen en un plano, llamado espacio del sistema de coordenadas del usuario y el espacio del sistema de coordenadas del dispositivo. Cuando se representa un objeto en la pantalla o en una impresora, el sistema de coordenadas de espacio de usuario se convierte al sistema de coordenadas de espacio del dispositivo.
La copia del código es la siguiente:
import java.awt.BasicStroke;
import java.awt.color;
import java.awt.graphics2d;
import java.awt.renderinghints;
import java.awt.image.bufferedImage;
import java.io.file;
import java.io.ioException;
import java.util.iterator;
import java.util.random;
import javax.imageio.*;
import javax.imageio.stream.imageOutputStream;
Prueba de clase pública {
public static void main (string [] args) lanza ioexception {
Intenio int = 800;
int altura = 800;
Imagen de BufferedImage = nueva BufferedImage (
ancho, altura, bufferedimage.type_int_rgb);
Gráfico2d g2d = image.createGraphics ();
G2D.SetColor (color.white);
g2d.fillrect (0, 0, ancho, altura);
g2d.setrenderinghint (renderinghints.key_antialiasing,
Renderinghints.value_antialias_on);
Aleatorio aleatorio = new Random ();
int wo = 0;
int ho = 0;
para (int i = 0; i <10; i ++) {
int x = random.nextint (ancho);
int y = random.nextint (altura);
G2D.SetColor (nuevo color (Random.NextInt (256),
random.nextint (256), random.nextint (256));
G2D.Setstroke (nuevo BasicStroke (1));
g2d.drawstring ("nodo"+i, x, y);
G2d.Drawarc (x, y, 20, 20, 0, 360);
if (i! = 0) {
G2d.Drawline (wo, ho, x, y);
}
wo = x;
ho = y;
}
g2d.dispose ();
ImageWriter Writer = null;
ImageTyPespecifier type =
ImageTyPespecifier.CreateFromRenderedImage (imagen);
Iterator iter = imageIO.getImageWriters (tipo, "jpg");
if (iter.hasnext ()) {
escritor = (ImageWriter) iter.next ();
}
if (escritor == null) {
devolver;
}
Iioimage iioiMage = new iioImage (imagen, nulo, nulo);
ImageWriteParam Param = Writer.getDefaultWriteParam ();
param.setCompressionMode (ImageWriteParam.Mode_Explicit);
param.setCompressionQuality ((float) ((10) / 10.0));
ImageOutputStream OutputStream =
ImageIO.CreateImageOutputStream (nuevo archivo ("c: /test.jpg"));
Writer.setOutput (outputStream);
Writer.Write (NULL, iioImage, Param);
}
}