ตัวอย่างในบทความนี้แบ่งปันรหัสเฉพาะสำหรับคุณสำหรับ Java เพื่อแปลงภาพเป็นภาพวาดอักขระสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
ImageProcesser ระดับสาธารณะ {ส่วนตัวคงที่ถ่านสุดท้าย [] charset1 = {'m', '8', 'v', '|': ','. ',' ''}; // วัสดุอักขระเริ่มต้นชุดถ่านส่วนตัว [] charset; // การวาดภาพตัวอักษรชุดสตริงส่วนตัว imgString = ""; // การจัดเก็บสตริงที่แปลงแล้ว // การสร้าง ImageProcesser สาธารณะ (char [] charset) {this.charset = charset; } // การสร้าง ImageProcesser สาธารณะ () {this.charset = charset1; } สตริงสาธารณะ getimgstring () {return imgstring; } /*แปลงไฟล์กราฟิกเป็นอักขระเพื่อวาดสตริง* / ImageProcesser สาธารณะ TobitMapConvert (String ImagePath) {return tobitMapConvert (ไฟล์ใหม่ (imagePath)); } Public ImageProcesser TobitMapConvert (ไฟล์ ImageFile) {StringBuffer sb = new StringBuffer (); if (! imagefile.exists ()) {// เมื่อไม่มีไฟล์อ่านให้จบ System.out.out.println ("ไฟล์ไม่มีอยู่!"); System.Exit (1); } สีสี; ลอง {bufferedImage buff = imageio.read (imagefile); // โหลดไฟล์รูปภาพเช่น bufferedImage stream buff = compressimage (buff); int bitmaph = buff.getheight (); int bitmapw = buff.getWidth (); // สแกนพิกเซลของภาพอย่างต่อเนื่องอ่านค่า RGB ใช้ค่าเฉลี่ยและรับวัสดุอักขระที่สอดคล้องกันจาก charset และโหลดลงใน sb สำหรับ (int y = 0; y <bitmaph; y ++) {สำหรับ (int x = 0; x <bitmapw; x ++) สี = สีใหม่ (RGB); int cvalue = (color.getred ()+color.getGreen ()+color.getBlue ()) / 3; sb.append (charset [(int) ((cvalue * charset.length - 1)/255)]+""); } sb.append ("/r/n"); }} catch (ioexception ex) {ex.printstacktrace (); } imgString = sb.toString (); คืนสิ่งนี้; } /* การประมวลผลไฟล์ภาพล่วงหน้า: บีบอัดภาพไปที่ขอบที่ยาวที่สุดถึง 100px* / bufferedimage ส่วนตัว compressimage (bufferedimage srcimg) {int h = srcimg.getheight (); int w = srcimg.getWidth (); if (math.max (h, w) <= 100) ส่งคืน srcimg; int new_h; int new_w; if (w> h) {new_w = 100; new_h = 100*h/w; } else {new_h = 100; new_w = 100*w/h; } bufferedImage smallimg = bufferedImage ใหม่ (new_w, new_h, srcimg.getType ()); กราฟิก g = smallimg.getGraphics (); G.DrawImage (srcimg, 0,0, new_w, new_h, null); G.Dispose (); กลับ smallimg; } /*บันทึกสตริงเป็นไฟล์. txt* / โมฆะสาธารณะ saveastxt (ชื่อสตริงไฟล์) {ลอง {printwriter out = ใหม่ printwriter (ใหม่ bufferedWriter (ใหม่ fileWriter (ชื่อไฟล์))); สำหรับ (int i = 0; i <imgstring.length (); i ++) {out.print (imgstring.charat (i)); } out.close (); } catch (ioexception ex) {ex.printstacktrace (); }} /*ไฟล์ภาพแบตช์* / โมฆะสาธารณะคงที่ batchimgfile (สตริง srcfile, สตริง tragetFile) {โฟลเดอร์ไฟล์ = ไฟล์ใหม่ (tragetFile); // โฟลเดอร์ที่สร้างไฟล์รูปภาพ srcfolder = ไฟล์ใหม่ (srcfile); if (! folder.exists () ||! folder.isdirectory ()) folder.mkdirs (); imageProcesser processor = new ImageProcesser (); ไฟล์ [] fileList = srcfolder.listfiles (); สำหรับ (int i = 0; i <fileList.length; i ++) {ถ้า (! filelist [i] .isfile ()) ดำเนินการต่อ; processor.tobitMapConvert (fileList [i]); processor.saveastxt (tragetfile+"/"+(i+1)+". txt"); System.out.println (FileList [i] .getName ()+"ถูกแปลง!"); } system.out.println ("IMG ทั้งหมดถูกแปลง!"); -คลิกเพื่อดู: ลิงค์อ้างอิง
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น