Die Java 2D-API bietet Java-Programmen mit zweidimensionalen Bildern, Text- und Grafikfunktionen über die Erweiterung der abstrakten Fenster-Toolbox (AWT). Dieses komplexe Rendering -Paket unterstützt lineare Bilder, Text und Grafiken und bietet flexible und leistungsstarke Frameworks für Entwickler reichhaltiger Benutzeroberflächen, komplexer Zeichnungsprogramme und Bildprozessoren. Java 2D -Objekte werden in einer Ebene angezeigt, die als Benutzerkoordinaten -Systemraum bezeichnet wird, und im Gerätekoordinaten -Systemraum. Wenn ein Objekt auf dem Bildschirm oder in einem Drucker gerendert wird, wird das Koordinatensystem des Benutzerraums in das Geräteraumkoordinatensystem konvertiert.
Die Codekopie lautet wie folgt:
importieren java.awt.basicsicStroke;
Import Java.awt.Color;
Import Java.awt.Graphics2d;
importieren java.awt.renderingHINDINTS;
Import Java.awt.image.BuffenedImage;
Import Java.io.file;
importieren java.io.ioException;
Import Java.util.iterator;
import Java.util.random;
Javax.imageo importieren.*;
import Javax.imageo.stream.imageOutputStream;
öffentliche Klassen -Test {
public static void main (String [] args) löst ioException {aus
int width = 800;
int Höhe = 800;
Bufferedimage Image = neuer BufferedImage (
Breite, Höhe, bufferedimage.type_int_rgb);
Graphics2d G2D = Bild.CreateGraphics ();
g2d.setColor (color.white);
G2D.FillRect (0, 0, Breite, Höhe);
g2d.setRenderingHint (renderingHints.key_antialiasing,
RenderingHINTHINTS.Value_antialias_on);
Random random = new random ();
int wo = 0;
int ho = 0;
für (int i = 0; i <10; i ++) {
int x = random.nextint (width);
int y = random.nextint (Höhe);
G2D.SetColor (neue Farbe (random.Nextint (256),
random.nextint (256), random.nextint (256));
G2D.SetStroke (neuer Grundlagenstreich (1));
g2d.drawstring ("Knoten"+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.disis ();
ImageWriter Writer = null;
Imagetypespecifier Typ =
Imagetypespecifier.CreateFromrenderEdimage (Bild);
Iterator iter = imageio.getImageWriter (Typ, "JPG");
if (iter.hasnext ()) {
writer = (ImageWriter) iter.next ();
}
if (writer == null) {
zurückkehren;
}
Iioimage iioimage = new iioimage (Bild, null, null);
ImageWriteParam param = writer.getDefaultWriteParam ();
param.setCompressionMode (ImageWriteParam.mode_explicit);
param.setCompressionQuality ((float) ((10) / 10.0));
ImageOutputStream OutputStream =
ImageIo.CreateImageOutputStream (neue Datei ("c: /test.jpg"));
Writer.Setoutput (outputStream);
writer.write (null, iioimage, param);
}
}