Примеры в этой статье делятся с вами конкретным кодом для Java для преобразования изображений в чертежи символов для вашей ссылки. Конкретный контент заключается в следующем
открытый класс ImageProcesser {private Static Final char [] charset1 = {'m', '8', 'v', '|': ','. ',' '}; // Материал символов по умолчанию Установите частный char [] charset; // Материал рисования символов Установите частную строку imgstring = ""; // хранение конвертированных строк // Создание публичного изображения Processer (char [] charset) {this.charset = charset; } // Конструирование public imageprocesser () {this.charset = charset1; } public String getImgString () {return imgString; } /*Преобразовать графический файл в символ, чтобы нарисовать строку* / public ImageProcesser tobitmapConvert (String ImagePath) {return tobitmapConvert (new File (imagePath)); } public ImageProcesser tobitmapConvert (файл imagefile) {stringBuffer sb = new StringBuffer (); if (! Imagefile.exists ()) {// Когда файл чтения не существует, завершите программу System.out.println ("Файл не существует!"); System.Exit (1); } Color; try {buffereMage buff = imageio.read (imagefile); // Загрузите файл изображения, такой как BufferedImage Stream Buff = CompressImage (Buff); int bitmaph = buff.getheight (); int bitmapw = buff.getwidth (); // Сканируйте пиксели изображения постепенно, читайте значение RGB, возьмите его среднее значение и получайте соответствующий материал символа из Charset и загрузите его в Sb для (int y = 0; y <битмаф; y ++) {для (int x = 0; x <bitmapw; x ++) {int rgb = buff.getrgb (x, y); цвет = новый цвет (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* / private bufferemage 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 = new BufferedImage (new_w, new_h, srcimg.gettype ()); Graphics g = smallimg.getGraphics (); g.drawimage (srcimg, 0,0, new_w, new_h, null); g.dispose (); вернуть маленький; } /*Сохранить строку в виде файла .txt* / public void saveastxt (string filename) {try {printwriter out = new PrintWriter (новый BufferedWriter (новый файл warter (filename))); for (int i = 0; i <imgstring.length (); i ++) {out.print (imgstring.charat (i)); } out.close (); } catch (ioException ex) {ex.printstackTrace (); }} /*Файл изображения пакета* / public static void batchimgfile (string srcfile, string tragetfile) {file folder = new File (TragetFile); // папка, которая генерирует файл изображения srcfolder = new File (srcfile); if (! folder.exists () ||! folder.isdirectory ()) folder.mkdirs (); Процессор ImageProcesser = New ImageProcesser (); File [] filelist = srcfolder.listfiles (); for (int i = 0; i <filelist.length; i ++) {if (! 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 больше.