Java 2D API는 Abstract Window Toolbox (AWT)의 확장을 통해 2 차원 이미지, 텍스트 및 그래픽 기능이있는 Java 프로그램을 제공합니다. 이 복잡한 렌더링 패키지는 선형 이미지, 텍스트 및 그래픽을 지원하여 풍부한 사용자 인터페이스, 복잡한 드로잉 프로그램 및 이미지 프로세서 개발자에게 유연하고 강력한 프레임 워크를 제공합니다. Java 2D 객체는 사용자 좌표 시스템 공간 및 장치 좌표 시스템 공간이라고하는 평면에 나타납니다. 객체가 화면이나 프린터에 렌더링되면 사용자 공간 좌표 시스템이 장치 공간 좌표계로 변환됩니다.
코드 사본은 다음과 같습니다.
java.awt.basicstroke import;
import java.awt.color;
import java.awt.graphics2d;
Java.awt.RenderingHints 가져 오기;
java.awt.image.bufferedimage import;
import java.io.file;
import java.io.ioexception;
import java.util.iterator;
java.util.random import;
javax.imageio.*;
import javax.imageio.stream.imageOutputStream;
공개 수업 테스트 {
public static void main (String [] args)은 ioexception {
int 너비 = 800;
int 높이 = 800;
BufferedImage 이미지 = 새로운 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);
랜덤 random = new random ();
int wo = 0;
int ho = 0;
for (int i = 0; i <10; i ++) {
int x = random.nextint (너비);
int y = random.nextInt (높이);
g2d.setColor (new color (random.nextint (256),
random.nextint (256), random.nextint (256));
G2D.SetStroke (새로운 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 Writer = null;
imageTypeSpecifier 유형 =
imageTyPespeCifier.CreateFromrenderEdimage (image);
Ierator iter = imageio.getImageWriters (유형 "JPG");
if (iter.hasnext ()) {
Writer = (imageWriter) iter.next ();
}
if (writer == null) {
반품;
}
iioimage iioimage = 새로운 iioimage (image, 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);
}
}