Die Beispiele in diesem Artikel teilen Ihnen den spezifischen Code für Java mit, um Bilder für Ihre Referenz in Zeichenzeichnungen umzuwandeln. Der spezifische Inhalt ist wie folgt
public class ImageProcesser {private static final char [] charset1 = {'m', '8', 'v', '|': ','. ',' '}; // Standard -Zeichenmaterial private char [] charset; // Zeichenzeichnungsmaterial Set private Zeichenfolge imgstring = ""; // Speichern konvertierte Zeichenfolgen // Erstellung public imageProcesser (char [] charset) {this.charset = charSet; } // bauen public imageProcesser () {this.charset = charset1; } public String getImgstring () {return imgstring; } /*Die Grafikdatei in ein Zeichen konvertieren, um eine Zeichenfolge zu zeichnen* / public imageProcesser tobitMapConvert (String ImagePath) {return toBitMapConvert (neue Datei (ImagePath)); } public imageProcesser toBitMapConvert (Datei imagefile) {stringBuffer sb = new StringBuffer (); if (! ImageFile.exists ()) {// Wenn die Lesung nicht vorhanden ist, beenden Sie das Programm System.out.println ("Datei ist nicht existiert!"); System.exit (1); } Farbfarbe; try {bufferedImage buff = imageio.read (ImageFile); // laden Sie die Bilddatei wie BufferedImage Stream Buff = CompressImage (BUFF); int bitmaph = buff.getheight (); int bitmapw = buff.getWidth (); // scannen Sie die Pixel des Bildes schrittweise, lesen Sie den RGB -Wert, nehmen Sie seinen Durchschnittswert und erhalten Sie das entsprechende Zeichenmaterial vom Zeichensatz und laden Sie ihn in SB für (int y = 0; y <bitmaph; y ++) {für (int x = 0; x <bitmapw; x ++) {int rgb = buff = buff = buff = buff = buff = buff (x <); Farbe = neue Farbe (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 (); gib dies zurück; } /* Bilddateivorverarbeitung: Komprimieren Sie das Bild auf die längste Kante auf 100px* / private bufferedImage compressImage (bufferedimage srcimg) {int h = srcimg.getheight (); int w = srcimg.getWidth (); if (math.max (h, w) <= 100) return 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 = new bufferedImage (new_w, new_h, srcimg.getttype ()); Grafik g = smallimg.getGraphics (); g.drawimage (srcimg, 0,0, new_w, new_h, null); g.disponse (); Rückkehr Smallimg; } /*Die Zeichenfolge als .txt -Datei speichern* / public void Saveastxt (String -Dateiname) {try {printwriter out = new printwriter (neuer bufferedWriter (neuer FileWriter (Dateiname))); für (int i = 0; i <imgstring.length (); i ++) {out.print (imgstring.charat (i)); } out.close (); } catch (ioException ex) {ex.printstacktrace (); }} /*Batch -Bilddatei* / public static void batchImgfile (String srcFile, String tragetfile) {Dateiordner = neue Datei (tragetfile); // Ordner, in dem die Bilddatei srcFolder = neue Datei (srcFile) generiert wird; if (! ordner.exists () ||! order.isdirectory ()) order.mkdirs (); ImageProcesser processor = new ImageProcesser (); Datei [] filelist = srcfoler.listfiles (); für (int i = 0; i <filelist.length; i ++) {if (! filelist [i] .isfile ()) Weiter; processor.tobitmapConvert (filelist [i]); processor.saveastxt (tragetfile+"/"+(i+1)+". txt"); System.out.println (filelist [i] .getName ()+"wird konvertiert!"); } System.out.println ("Alle IMG wurden konvertiert!"); }}Klicken Sie hier, um anzuzeigen: Referenzlink.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.