ตัวอย่างมีดังนี้:
Package writeimg; นำเข้า 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; คลาสสาธารณะ PIC {ตัวอักษรตัวอักษรส่วนตัว = ตัวอักษรใหม่ ("Huawen Caiyun", Font.plain, 40); // เพิ่มคุณสมบัติตัวอักษรเพื่อตั้งกราฟิกส่วนตัว 2D G = NULL; ตัวอักษร int ส่วนตัว = 0; ส่วนตัว int x = 0; ส่วนตัว int y = 0; / *** นำเข้าภาพท้องถิ่นไปยังบัฟเฟอร์*/ public bufferedImage loadimageLocal (imgname สตริง) {ลอง {return imageio.read (ไฟล์ใหม่ (imgname)); } catch (ioexception e) {system.out.println (e.getMessage ()); } return null; } / *** นำเข้าภาพเครือข่ายไปยังบัฟเฟอร์* / public bufferedImage loadimageUrl (imgname สตริง) {ลอง {url url = url ใหม่ (imgname); return imageio.read (url); } catch (ioexception e) {system.out.println (e.getMessage ()); } return null; } / *** สร้างภาพใหม่ไปยัง Local* / Public Void writeimagelocal (สตริง newimage, bufferedImage img) {ถ้า (newImage! = null && img! = null) {ลอง {ไฟล์ outputfile = ไฟล์ใหม่ (newImage); imageio.write (img, "jpg", outputfile); } catch (ioexception e) {system.out.println (e.getMessage ()); }}}} / *** ตั้งค่าตัวอักษร ฯลฯ ของข้อความ* / โมฆะสาธารณะ setFont (String fontstyle, int fontsize) {this.fontsize = fontsize; this.font = ตัวอักษรใหม่ (FontStyle, Font.plain, FontSize); } / ** * แก้ไขรูปภาพและส่งคืนบัฟเฟอร์ภาพที่แก้ไขแล้ว (เอาต์พุตเพียงหนึ่งบรรทัดของข้อความ) * / public bufferedImage modifyImage (bufferedImage img, เนื้อหาวัตถุ, int x, int y) {ลอง {int w = img.getWidth (); int h = img.getheight (); g = img.createGraphics (); G.SetBackground (สีขาว); G.SetColor (color.orange); // ตั้งค่าสีตัวอักษรถ้า (this.font! = null) g.setfont (this.font); // ตรวจสอบพิกัดที่เป็นระเบียบและแนวนอนของตำแหน่งเอาต์พุตถ้า (x> = h || y> = w) {this.x = h - this.fontsize + 2; this.y = w; } else {this.x = x; this.y = y; } if (content! = null) {g.DrawString (content.toString (), this.x, this.y); } G.Dispose (); } catch (exception e) {system.out.println (e.getMessage ()); } return img; } /*** แก้ไขรูปภาพและส่งคืนบัฟเฟอร์ภาพที่แก้ไขแล้ว (เอาต์พุตหลายส่วนข้อความ) Xory: จริงหมายถึงเอาต์พุตเนื้อหาในบรรทัดเดียว เท็จหมายถึงเอาต์พุตเนื้อหาหลายบรรทัด*/ public bufferedImage modifyImage (bufferedImage img, Object [] contentAr, int x, int y, boolean xory) {ลอง {int w = img.getWidth (); int h = img.getheight (); g = img.createGraphics (); G.SetBackground (สีขาว); G.SetColor (color.Red); if (this.font! = null) g.setfont (this.font); // ตรวจสอบพิกัดที่เป็นระเบียบและแนวนอนของตำแหน่งเอาต์พุตถ้า (x> = h || y> = w) {this.x = h - this.fontsize + 2; this.y = w; } else {this.x = x; this.y = y; } if (contentarr! = null) {int arrlen = contentAr.length; if (xory) {สำหรับ (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; // คำนวณตำแหน่งเอาต์พุตข้อความอีกครั้ง}} อื่น {สำหรับ (int i = 0; i <arrlen; i ++) {g.drawstring this.y + = this.fontsize + 2; // คำนวณตำแหน่งเอาต์พุตข้อความ}}} g.dispose (); } catch (exception e) {system.out.println (e.getMessage ()); } return img; } / ** * แก้ไขรูปภาพและส่งคืนบัฟเฟอร์ภาพที่แก้ไขแล้ว (ส่งออกเพียงบรรทัดเดียว) * * เวลา: 2007-10-8 * * @param img * @return * / public bufferedimage modifyimageye (bufferedimage img) int h = img.getheight (); g = img.createGraphics (); G.SetBackground (สีขาว); g.setColor (color.blue); // ตั้งค่าสีตัวอักษรถ้า (this.font! = null) g.setfont (this.font); G.DrawString ("reyo.cn", w - 85, h - 5); G.Dispose (); } catch (exception e) {system.out.println (e.getMessage ()); } return img; } Public BufferedImage Modifyimagetogeter (bufferedImage B, bufferedImage d) {ลอง {int w = b.getWidth (); int h = b.getheight (); g = d.createGraphics (); G.Drawimage (B, 100, 10, W, H, Null); G.Dispose (); } catch (exception e) {system.out.println (e.getMessage ()); } return d; } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {pic tt = pic ใหม่ (); bufferedImage d = tt.loadimageLocal ("d: //11.jpg"); // bufferedImage b = tt // .loadimageLocal ("e: // ไฟล์ (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 ("ความสำเร็จ"); -ด้านบนเป็นเนื้อหาเต็มรูปแบบของการเขียน Java บนรูปภาพและวิธีการรวมรูปภาพทั้งสอง ฉันหวังว่าทุกคนจะสนับสนุน wulin.com เพิ่มเติม ~