Рубрики
Без рубрики

Пример Java в формате ASCII

– Пример Java в формате ASCII

Забавный Пример Java для создания ASCII-изображения графика. Концепция проста, получите цвет rgb изображения в “целочисленном режиме”, позже замените целое число цвета текстом ascii.

P.S Этот пример засчитывается за это пост

package com.mkyong.service;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;

public class ASCIIArtService {

    public static void main(String[] args) throws IOException {

        int width = 100;
        int height = 30;

        //BufferedImage image = ImageIO.read(new File("/Users/mkyong/Desktop/logo.jpg"));
        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics g = image.getGraphics();
        g.setFont(new Font("SansSerif", Font.BOLD, 24));

        Graphics2D graphics = (Graphics2D) g;
        graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        graphics.drawString("JAVA", 10, 20);

        //save this image
        //ImageIO.write(image, "png", new File("/users/mkyong/ascii-art.png"));

        for (int y = 0; y < height; y++) {
            StringBuilder sb = new StringBuilder();
            for (int x = 0; x < width; x++) {

                sb.append(image.getRGB(x, y) == -16777216 ? " " : "$");

            }

            if (sb.toString().trim().isEmpty()) {
                continue;
            }

            System.out.println(sb);
        }

    }

}

Выход

                  $$$        $$$$$      $$$$         $$$$     $$$$$                                 
                  $$$       $$$$$$$     $$$$         $$$$    $$$$$$$                                
                  $$$       $$$$$$$     $$$$$       $$$$$    $$$$$$$                                
                  $$$       $$$$$$$      $$$$       $$$$     $$$$$$$                                
                  $$$      $$$$ $$$$     $$$$$     $$$$$    $$$$ $$$$                               
                  $$$      $$$$ $$$$      $$$$     $$$$     $$$$ $$$$                               
                  $$$     $$$$$ $$$$$     $$$$     $$$$    $$$$$ $$$$$                              
                  $$$     $$$$   $$$$     $$$$$   $$$$$    $$$$   $$$$                              
                  $$$     $$$$   $$$$      $$$$   $$$$     $$$$   $$$$                              
                  $$$    $$$$$   $$$$$     $$$$$ $$$$$    $$$$$   $$$$$                             
                  $$$    $$$$$$$$$$$$$      $$$$ $$$$     $$$$$$$$$$$$$                             
          $$$$   $$$$    $$$$$$$$$$$$$      $$$$ $$$$     $$$$$$$$$$$$$                             
          $$$$   $$$$   $$$$$$$$$$$$$$$      $$$$$$$     $$$$$$$$$$$$$$$                            
          $$$$$ $$$$$   $$$$       $$$$      $$$$$$$     $$$$       $$$$                            
          $$$$$$$$$$$  $$$$$       $$$$$     $$$$$$$    $$$$$       $$$$$                           
           $$$$$$$$$   $$$$         $$$$      $$$$$     $$$$         $$$$                           
            $$$$$$$    $$$$         $$$$      $$$$$     $$$$         $$$$                           

Рекомендации

  1. Вики: Искусство ASCII
  2. Stackoverflow – искусство ascii на Java
  3. Создание графической формы предоставленного целого числа

Оригинал: “https://mkyong.com/java/ascii-art-java-example/”