ASCII Art Generator: Bilder und Schrift aus Zeichen erstellen

ASCII-Art-Generator

Verwandle Text in ein ASCII-Banner aus einfachen Zeichen.

Ein ASCII Art Generator stellt Schriftzüge oder einfache Motive mit Textzeichen dar. Statt Bildpunkten verwendet er beispielsweise Buchstaben, Satzzeichen und Leerzeichen. Das Ergebnis lässt sich als Text kopieren und in Nachrichten, Dokumente oder Quellcode einfügen. Im Folgenden erkläre ich, worauf es bei der Darstellung ankommt und wie sich die Größe einer ASCII-Grafik berechnen lässt.

Wie ASCII-Art aufgebaut ist

Jede Zeile einer ASCII-Grafik besteht aus Zeichen an festen Positionen. Leerzeichen sind dabei genauso wichtig wie sichtbare Zeichen: Sie erzeugen Abstände und bestimmen die Form. Ein kleines Rechteck kann so aussehen:

+—+
| |
+—+

Die Grafik ist fünf Zeichen breit und drei Zeilen hoch. Pro Zeile zählen auch die Leerzeichen zwischen den senkrechten Strichen mit. Ein ASCII Art Generator übernimmt diese Anordnung für größere Motive oder Schriftzüge, die von Hand mühsam zu setzen wären.

Breite, Höhe und Zeichenzahl berechnen

Für eine rechteckige Textfläche gilt: Zeichenpositionen = Breite × Zeilenzahl. Werden die Zeilen mit jeweils einem Zeilenumbruch getrennt, kommen bei einer Grafik ohne abschließenden Zeilenumbruch Zeilenzahl − 1 weitere Zeichen hinzu.

Breite Zeilen Zeichenpositionen Mit Zeilenumbrüchen
5 3 5 × 3 = 15 15 + 2 = 17
10 6 10 × 6 = 60 60 + 5 = 65
20 8 20 × 8 = 160 160 + 7 = 167
Siehe auch  Ja-Nein-Orakel: Fragen mit einem Ja-oder-Nein-Generator beantworten

Diese Rechnung setzt gleich lange Zeilen und einen einzelnen Zeilenumbruch zwischen zwei Zeilen voraus. Bei unterschiedlich langen Zeilen werden stattdessen die Zeichen jeder Zeile einzeln addiert. Ob Leerzeichen am Zeilenende erhalten bleiben, hängt außerdem vom verwendeten Programm ab.

Warum die Schriftart wichtig ist

ASCII-Art benötigt in der Regel eine Schrift mit fester Zeichenbreite, auch Monospace-Schrift genannt. Darin nimmt ein Punkt genauso viel horizontalen Platz ein wie ein „M“. In einer proportionalen Schrift können Spalten verrutschen und das Motiv verzerren.

Auch automatische Zeilenumbrüche verändern das Ergebnis. Ist eine Grafik breiter als das Textfeld, wird eine Zeile möglicherweise an einer unerwünschten Stelle geteilt. Für HTML eignet sich das Element <pre>, weil es Leerzeichen und Zeilenumbrüche erhält. Sonderzeichen wie < und & müssen im HTML-Code entsprechend maskiert werden.

ASCII und Unicode unterscheiden

Der ursprüngliche ASCII-Zeichensatz umfasst 128 Zeichen mit den Werten 0 bis 127. Dazu gehören Buchstaben, Ziffern, Satzzeichen sowie Steuerzeichen wie der Zeilenumbruch. Die druckbaren ASCII-Zeichen liegen im Bereich 32 bis 126. Manche Grafiken, die im Alltag „ASCII-Art“ heißen, verwenden zusätzlich Unicode-Zeichen wie Blockelemente oder besondere Linien. Streng genommen sind solche Zeichen keine ASCII-Zeichen.

Der Unterschied ist praktisch relevant: Eine Grafik aus einfachen Zeichen wie +, – und | lässt sich meist leichter in unterschiedlichen Textumgebungen anzeigen. Unicode kann mehr Formen ermöglichen, setzt aber eine passende Zeichenunterstützung voraus.

Siehe auch  Schriftarten Generator: Text in besondere Zeichen umwandeln

Aus Bildern werden Zeichenmuster

Bei der Umwandlung eines Bildes in Text wird dessen Helligkeit vereinfacht dargestellt. Helle Bereiche können etwa als Leerzeichen oder Punkte erscheinen, dunkle Bereiche als dichtere Zeichen wie # oder @. Welche Zuordnung sinnvoll ist, hängt unter anderem davon ab, ob der Text auf hellem oder dunklem Hintergrund angezeigt wird.

Für ein erkennbares Ergebnis ist nicht allein die Zeichenzahl entscheidend. Auch Kontrast, Motivgröße und Seitenverhältnis spielen eine Rolle: Ein detailreiches Foto verliert bei wenigen Textzeilen mehr Einzelheiten als ein einfaches Symbol. Für dekorative Zwecke ist das oft erwünscht; wichtige Informationen sollten jedoch zusätzlich als normaler Text verfügbar sein, da Bildschirmlesegeräte eine Zeichengrafik nicht zuverlässig als Bild beschreiben können.