L'API Java 2D fournit des programmes Java avec des images bidimensionnelles, des capacités de texte et graphiques via l'extension de la boîte à outils de fenêtre abstraite (AWT). Ce package de rendu complexe prend en charge les images linéaires, le texte et les graphiques, fournissant des cadres flexibles et puissants pour les développeurs d'interfaces utilisateur riches, de programmes de dessin complexes et de processeurs d'images. Les objets Java 2D apparaissent dans un plan, appelé l'espace du système de coordonnées de l'utilisateur, et l'espace système coordonné de l'appareil. Lorsqu'un objet est rendu sur l'écran ou dans une imprimante, le système de coordonnées d'espace utilisateur est converti au système de coordonnées de l'espace de l'appareil.
La copie de code est la suivante:
Importer Java.awt.BasicStroke;
import java.awt.color;
import java.awt.graphics2d;
Importer java.awt.RenderingHints;
Importer java.awt.image.bufferedImage;
Importer java.io.file;
Importer java.io.ioException;
Importer java.util.iterator;
import java.util.random;
import javax.imageio. *;
Importer javax.imageio.stream.imageOutputStream;
Test de classe publique {
public static void main (String [] args) lance ioException {
Int largeur = 800;
int hauteur = 800;
BufferedImage Image = new BufferedImage (
largeur, hauteur, bufferedImage.type_int_rgb);
Graphics2d g2d = image.creategraphics ();
g2d.setColor (color.white);
g2d.fillrect (0, 0, largeur, hauteur);
g2d.setRenderingHint (renderinghints.key_antialiasing,
RenderingHints.value_antialias_on);
Aléatoire aléatoire = nouveau aléatoire ();
int wo = 0;
int ho = 0;
pour (int i = 0; i <10; i ++) {
int x = random.nextint (largeur);
int y = random.nextint (hauteur);
g2d.setColor (nouvelle couleur (random.nextint (256),
Random.Nextint (256), Random.Nextint (256));
G2D.SetStroke (New BasicStroke (1));
g2d.Drawstring ("nœud" + 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;
Type d'imagetyPEPECECICIER =
ImageTypeSpecifier.CreateFromRendeRedimage (image);
Iterator iter = imageo.getImageWriters (type, "jpg");
if (iter.hasnext ()) {
écrivain = (imagewriter) iter.next ();
}
if (writer == null) {
retour;
}
IioImage iioImage = new iioImage (image, null, null);
ImageWriteParam param = writer.getDefaultWriteParam ();
param.setCompressionMode (imageWriteParam.Mode_Explicite);
param.setCompressionquality ((float) ((10) / 10.0));
ImageOutputStream outputStream =
Imageo.createImageOutputStream (nouveau fichier ("c: /test.jpg"));
writer.setOutput (outputStream);
writer.write (null, iioimage, param);
}
}