الأمثلة على النحو التالي:
حزمة الكتابة ؛ استيراد javax.imageio.imageio ؛ استيراد java.awt.color ؛ استيراد java.awt.font ؛ استيراد java.awt.graphics2d ؛ استيراد java.awt.image.bufferedImage ؛ استيراد java.io.file ؛ استيراد java.io.ioException ؛ استيراد java.net.url ؛ Public Class pic {private font font = new font ("Huawen caiyun" ، font.plain ، 40) ؛ // إضافة خصائص الخط لضبط رسومات خاصة g = null ؛ private int fontsize = 0 ؛ private int x = 0 ؛ private int y = 0 ؛ / *** استيراد الصورة المحلية إلى Buffer*/ public BufferEdImage loadImagelocal (String imgname) {try {return imageio.read (ملف جديد (imgname)) ؛ } catch (ioException e) {system.out.println (e.getMessage ()) ؛ } إرجاع فارغ ؛ } / *** استيراد صورة الشبكة إلى Buffer* / public BufferEdImage LoadImageurl (String imgname) {try {url url = url new (imgname) ؛ إرجاع Imageio.Read (url) ؛ } catch (ioException e) {system.out.println (e.getMessage ()) ؛ } إرجاع فارغ ؛ } / *** قم بإنشاء صورة جديدة إلى void local* / public writeimagelocal (سلسلة newImage ، bufferedImage img) {if (newImage! = null && img! = null) {try {file outputfile = new file (newImage) ؛ imageio.write (img ، "jpg" ، outputFile) ؛ } catch (ioException e) {system.out.println (e.getMessage ()) ؛ }}}} / *** قم بتعيين الخط ، إلخ. للنص* / public void setfont (String fontstyle ، int fontsize) {this.fontsize = fontsize ؛ this.font = new font (fontstyle ، font.plain ، fontsize) ؛ } / ** * قم بتعديل الصورة وإرجاع المخزن المؤقت للصورة المعدلة (سطر واحد فقط من إخراج النص) * / public bufferedImage ModifyImage (bufferedImage IMG ، محتوى الكائن ، int x ، int y) {try {int w = img.getwidth () ؛ int h = img.getheight () ؛ g = img.creategraphics () ؛ G.SetBackground (color.hite) ؛ g.setColor (color.orange) ؛ // اضبط لون الخط إذا (this.font! = null) g.setfont (this.font) ؛ // تحقق من الإحداثيات الإحدادية والأفقية لموضع الإخراج if (x> = h || y> = w) {this.x = h - this.fontsize + 2 ؛ this.y = w ؛ } آخر {this.x = x ؛ this.y = y ؛ } if (content! = null) {g.drawString (content.toString () ، this.x ، this.y) ؛ } g.dispose () ؛ } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ } إرجاع IMG ؛ } /*** تعديل الصورة وإرجاع المخزن المؤقت المعدل (إخراج مقاطع نصية متعددة) Xory: TRUE تعني إخراج المحتوى في سطر واحد ؛ يعني إخراج المحتوى في أسطر متعددة*/ bufferedImage ModifyImage (BufferedImage IMG ، Object [] contentarr ، int x ، int y ، boolean xory) {try {int w = img.getWidth () ؛ int h = img.getheight () ؛ g = img.creategraphics () ؛ G.SetBackground (color.hite) ؛ G.SetColor (color.red) ؛ if (this.font! = null) g.setfont (this.font) ؛ // تحقق من الإحداثيات الإحدادية والأفقية لموضع الإخراج if (x> = h || y> = w) {this.x = h - this.fontsize + 2 ؛ this.y = w ؛ } آخر {this.x = x ؛ this.y = y ؛ } if (contentArr! = null) {int arrlen = contentArr.length ؛ if (xory) {for (int i = 0 ؛ i <arrlen ؛ i ++) {g.drawString (contentArr [i] .toString () ، this.x ، this.y) ؛ this.x += contentArr [i] .toString (). length () * this.fontsize/ 2 +5 ؛ // إعادة حساب موضع إخراج النص}} آخر {for (int i = 0 ؛ i <arrlen ؛ i ++) {g.drawstring (contentarr [i] this.y + = this.fontsize + 2 ؛ // إعادة حساب موضع إخراج النص}}} g.dispose () ؛ } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ } إرجاع IMG ؛ } / ** * تعديل الصورة وإرجاع المخزن المؤقت للصورة المعدلة (إخراج سطر واحد فقط من النص) * * الوقت: 2007-10-8 * * param img * @return * / public bufferedimage modifyimageye (bufferedImage img) {try {int w = img.getwidth () ؛ int h = img.getheight () ؛ g = img.creategraphics () ؛ G.SetBackground (color.hite) ؛ G.SetColor (color.blue) ؛ // اضبط لون الخط إذا (this.font! = null) g.setfont (this.font) ؛ G.DrawString ("Reyo.cn" ، W - 85 ، H - 5) ؛ G.Dispose () ؛ } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ } إرجاع IMG ؛ } public bufferedImage modifyImageTogeter (bufferedImage B ، bufferedImage d) {try {int w = b.getWidth () ؛ int h = b.getheight () ؛ g = d.creategraphics () ؛ G.DrawImage (B ، 100 ، 10 ، W ، H ، Null) ؛ G.Dispose () ؛ } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ } العودة د ؛ } public static void main (string [] args) {pic tt = new pic () ؛ bufferedImage d = tt.loadimagelocal ("d: //11.jpg") ؛ // bufferedImage b = tt // .loadimagelocal ("e: // file (word ، excel ، pdf ، ppt.txt) // zte-logo.png") ؛ tt.writeImageLocal ("d: //cc.jpg" ، tt.modifyImage (d ، "Xichang Apple" ، 90،90) // اكتب ملفًا على الصورة) ؛ //tt.writeimagelocal("d://cc.jpg "، tt.modifyImageTogeter (b ، d)) ؛ // مجموعة صور متعددة معًا system.out.println ("النجاح") ؛ }}ما سبق هو المحتوى الكامل لكتابة جافا على الصور وطرق دمج الصورتين. آمل أن يدعم الجميع wulin.com أكثر ~