يوفر 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 ؛
اختبار الفئة العامة {
الفراغ الثابت العام (سلسلة [] args) يلقي ioexception {
عرض int = 800 ؛
ارتفاع int = 800 ؛
صورة BufferedImage = جديد BufferEdImage (
العرض ، الارتفاع ، bufferedImage.type_int_rgb) ؛
graphics2d g2d = image.creategraphics () ؛
g2d.setColor (color.hite) ؛
g2d.fillRect (0 ، 0 ، العرض ، الارتفاع) ؛
G2D.SetRenderingHint (RenderingHints.Key_antialiasing ،
renderinghints.value_antialias_on) ؛
عشوائي عشوائي = جديد عشوائي () ؛
int wo = 0 ؛
int ho = 0 ؛
لـ (int i = 0 ؛ i <10 ؛ i ++) {
int x = random.nextint (العرض) ؛
int y = random.nextint (الارتفاع) ؛
G2D.SetColor (لون جديد (Random.Nextint (256) ،
Random.NextInt (256) ، Random.NextInt (256)) ؛
G2D.SetStroke (New BasicStroke (1)) ؛
G2D.DrawString ("Node"+I ، X ، Y) ؛
g2d.drawarc (x ، y ، 20 ، 20 ، 0 ، 360) ؛
إذا (أنا! = 0) {
G2D.Drawline (WO ، HO ، X ، Y) ؛
}
wo = x ؛
هو = ص ؛
}
g2d.dispose () ؛
كاتب ImageWriter = فارغ ؛
imageTypespecifier type =
ImageTypespeSecifier.CreateFromRenderedImage (Image) ؛
iterator iter = imageio.getImageWriters (type ، "jpg") ؛
if (iter.hasnext ()) {
الكاتب = (ImageWriter) iter.next () ؛
}
إذا (الكاتب == فارغ) {
يعود؛
}
iioimage iioimage = new iioimage (صورة ، فارغة ، فارغة) ؛
ImageWriteParam param = constr.getDefaultWriteParam () ؛
param.setCompressionMode (imageWriteParam.mode_explicit) ؛
param.setCompressionQuality ((تعويم) ((10) / 10.0)) ؛
ImageOutputStream OutputStream =
imageio.createImageOutputStream (ملف جديد ("c: /test.jpg")) ؛
الكاتب.
Writer.write (null ، iioimage ، param) ؛
}
}