Java 2D API предоставляет Java-программы с двумерными изображениями, текстовыми и графическими возможностями посредством расширения абстрактного оконного набора инструментов (AWT). Этот комплексный пакет рендеринга поддерживает линейные изображения, текстовые и графики, обеспечивая гибкие и мощные структуры для разработчиков богатых пользовательских интерфейсов, сложных программ рисования и процессоров изображений. Java 2D -объекты появляются в плоскости, называемом системным пространством пользователя, и в системе координат устройства. Когда объект отображается на экране или в принтере, система координат пространства пользователя преобразуется в систему координат пространства устройства.
Кода -копия выглядит следующим образом:
Импорт java.awt.basicsstroke;
импортировать java.awt.color;
импортировать java.awt.graphics2d;
Импорт java.awt.renderinghints;
Импорт java.awt.image.bufferedImage;
Импорт java.io.file;
импортировать java.io.ioexception;
импортировать java.util.iterator;
импортировать java.util.random;
импортировать javax.imageio.*;
импортировать javax.imageio.stream.imageoutputstream;
открытый тест класса {
public static void main (string [] args) бросает ioException {
int width = 800;
int height = 800;
BufferedImage Image = New BufferedImage (
ширина, высота, bufferedimage.type_int_rgb);
Graphics2d g2d = image.creategraphics ();
G2D.SetColor (color.white);
G2D.FillRect (0, 0, ширина, высота);
G2D.SetRenderingHint (renderingHints.key_antialiasing,
Renderinghints.value_antialias_on);
Случайный случайный = new Random ();
int wo = 0;
int ho = 0;
для (int i = 0; i <10; i ++) {
int x = random.nextint (ширина);
int y = random.nextint (высота);
G2D.SetColor (новый цвет (случайный.nextint (256),
random.nextint (256), random.nextint (256));
G2D.SetStroke (New BasicStroke (1));
G2D.DrawString ("Узел"+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 = null;
ImageTypespecifier Type =
ImageTypespecifier.createFromRenderEdImage (Image);
Iterator iter = imageio.getimagewriters (type, "jpg");
if (iter.hasnext ()) {
writer = (imagewriter) iter.next ();
}
if (writer == null) {
возвращаться;
}
Iioimage iioimage = new iioImage (изображение, NULL, NULL);
ImageWriteParam param = writer.getDefaultWriteParam ();
param.setCompressionMode (imageWriteParam.mode_explicit);
Param.SetCompressionQuality ((float) ((10) / 10.0));
ImageOutputStream outputStream =
Imageio.createimageoutputstream (новый файл ("c: /test.jpg"));
writer.setOutput (outputStream);
writer.write (null, iioimage, param);
}
}