ASCII-Kunst in Java

Ein Memorandum, das ich mit dem Wunsch gespielt habe, das Protokoll zu dekorieren. Machen Sie die Zeichen ASCII Kunst. Alle können mit der Standard-Java-Bibliothek erstellt werden. [Referenz] https://www.baeldung.com/ascii-art-in-java

1. Klasse erstellen

ASCIIService.java


import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.IOException;
 
public class ASCIIService {
 
    /**
     *Methode zur Herstellung von ASCII-Kunst.
     * @param str Zeichen, die Sie in ASCII-Kunst umwandeln möchten
     * @return StringBuilder Zeichen, das zu ASCII-Kunst wurde
     */
    public static StringBuilder createAscii(String str) {
 
        //Die Größe der zu generierenden Grafik
        int height =30;
        int width = 200;
        //Startposition zeichnen
        int startX = 2;
        int stratY = 20;
        //Schriftart einstellen
        Font font = new Font("Arial", Font.BOLD, 14);
        StringBuilder sysout = new StringBuilder("\n");
         
        BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics graphics = bufferedImage.getGraphics();
         
        //Konvertieren Sie Text in Grafik
        Graphics2D g = (Graphics2D) graphics;
        g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        g.setFont(font);
        g.drawString(str, startX, stratY);
         
        //Transkribiert in ASCII-Kunst basierend auf Grafik
        for (int y = 0; y < height; y++) {
            StringBuilder stringBuilder = new StringBuilder();
          
            for (int x = 0; x < width; x++) {
                stringBuilder.append(bufferedImage.getRGB(x, y) == -16777216 ? " " : "@");
            }
            if (stringBuilder.toString().trim().isEmpty()) {
                continue;
            }
            sysout.append("\n" + stringBuilder);
        }
        sysout.append("\n");
        return sysout;
    }
 
    public static void main(String[] args) {
        //Lauf
        System.out.println(createAscii("PROCESS START!"));
    }
}

2. Führen Sie aus

Wenn Sie Eclipse verwendet haben Klicken Sie mit der rechten Maustaste auf Klasse> Ausführen> Java-Anwendung image.png

Sie können auch Befehle ausführen, wenn der Pfad korrekt ist

So übergeben Sie den Pfad https://www.javadrive.jp/start/install/index4.html So führen Sie Befehle aus https://pentan.info/java/command_line.html image.png

Bemerkungen. Ich möchte es einfacher machen

Es scheint, dass Sie es in einer Zeile machen können, indem Sie die Bibliothek verwenden https://qiita.com/hoge390281/items/808b9e9afddf5db41f20 image.png einfach! süß!

Recommended Posts

ASCII-Kunst in Java
Änderungen in Java 11
Janken in Java
Umfangsrate in Java
FizzBuzz in Java
TCP-Kommunikation (Socket-Kommunikation) in Java (ASCII, Binär)
Lesen Sie JSON in Java
Machen Sie einen Blackjack mit Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Fizzbuzz mit ASCII-Kunst.
Kommentare in der Java-Quelle
Azure funktioniert in Java
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java
Versuchen Sie es mit RocksDB mit Java
Vermeiden Sie den Fehler, den Yuma in Java gemacht hat
Holen Sie sich EXIF-Informationen in Java
Bearbeiten von ini in Java: ini4j
Java-Geschichte in dieser Welt
Versuchen Sie, JavaScript in Java aufzurufen
Probieren Sie den Funktionstyp in Java aus! ①
Ich habe ein Roulette in Java gemacht.
Implementierung der zweistufigen Authentifizierung in Java
Refactoring: Machen Sie Blackjack in Java
Themenanalyse (LDA) in Java
NEologd-Vorverarbeitung in Java neologdn-java
Ändern Sie die Java-Codierung in Windows
Java Stream API in 5 Minuten
Problem beim Finden von javax.annotation.Generated in Java 11 nicht
Lesen Sie die Standardeingabe in Java
Implementieren Sie die Standardauthentifizierung in Java
Suchen Sie eine Teilmenge in Java
[Java] KClass in Java herunterladen [Kotlin]
Erstellen Sie Azure-Funktionen in Java
Importieren Sie Excel-Daten mit Java