claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 12/2004

ASCII-Grafik

Punkt, Punkt, Komma, Strich...

von Heike Jurzik


... fertig ist das Mondgesicht. In diesem Artikel geht um ASCII-Grafik und darum, was man mit einfachen Zeichen alles malen kann. Wir zeigen, wie Sie im Text-Editor oder auf der Kommandozeile zum Künstler werden.

Lange bevor es Computer gab, die Grafisches darstellen konnten, suchten kreative Köpfe nach einer Möglichkeit, Bilder oder Illustrationen mit einfachen Zeichen zu malen -- die ASCII-Art (zu Deutsch: ASCII-Kunst) war geboren. Noch heute haben viele Benutzer Verzierungen oder kleine ASCII-Piktogramme als Signatur unter ihren E-Mails, und im Internet gibt es unzählige Galerien, die ASCII-Kunst ausstellen. Es gibt sogar einen Star-Wars-Film als Text-Animation (Kasten Star Wars in ASCII).

Star Wars in ASCII

Es gibt zahlreiche ASCII-Bilder und -Animationen im Netz -- man muss nur danach suchen. Simon Jansen schießt allerdings den Vogel ab: Seit 1997 erstellt er in Eigenregie eine Text-Animation des Star-Wars-Films Episode IV "A New Hope". Sie können das Kunstwerk entweder mit einem Web Browser unter [1] bewundern oder direkt in einem Terminal-Fenster betrachten:

  1. Starten Sie ein Terminal, z. B. über [Alt-F2] und Eingabe von konsole.
  2. Bauen Sie eine Telnet-Verbindung zum Server auf; das geht mit dem Befehl
    telnet towel.blinkenlights.nl
  3. Funktioniert dies nicht, weil der Befehl einfach bei der Ausgabe
    Trying 2001:960:301:1::42...
    stehen bleibt, brechen Sie den Vorgang mit [Strg-C] ab. Probieren Sie dann stattdessen den Befehl:
    telnet 213.204.192.42
  4. Drücken Sie nun die Eingabe-Taste, um die Vorführung zu starten.
  5. Die Telnet-Verbindung unterbrechen Sie mit der Tastenkombination [Strg-AltGr-9] und geben anschließend den Befehl quit ein.

ASCII... Wie bitte?

Der American Standard Code for Information Interchange (deutsch: Amerikanischer Standard-Code für den Informationsaustausch), oder kurz ASCII, ist ein Zeichensatz, der auf dem lateinischen Alphabet basiert. Während die ersten 32 der insgesamt 128 Zeichen für Steuer-Codes wie z. B. den Zeilenumbruch reserviert sind, steht der Rest für Buchstaben und Ziffern zur Verfügung.

Wer mit ASCII-Zeichen Bilder malen möchte, sollte eine Schriftart mit festem Zeichenabstand verwenden. In diesen so genannten "nicht-proportionalen" Schriften sind alle Buchstaben gleich breit (Abbildung 1). Eine häufig dafür eingesetzte Schriftart und Standard in KDEs Konsole ist Courier. Weiterhin brauchen Sie einen Text-Editor wie Kate oder KWrite und natürlich ein bisschen Phantasie.

Abb. 1: Bei einer nicht-proportionalen Schrift sind alle Zeichen gleich breit.

Mit Zeichen malen

Am besten fangen Sie mit einigen wenigen Strichen an und malen einfache Formen, wie z. B. Rechtecke, Kreise und Dreiecke. Starten Sie einen Text-Editor und setzen Sie zum Malen beispielsweise den Schrägstrich / ([Umsch-7]), den Backslash \ ([AltGr-ß]), das Pipe-Zeichen | ([AltGr-<]) und den Unterstrich _ ([Umsch-"-"]) ein (Abbildung 2). Mit ein bisschen Übung erstellen Sie auch komplexere Formen oder kleine Cartoons mit Pinguinen oder Hühnern (Abbildung 3).

Abb. 2: Einfache Malübungen im Text-Editor.

Abb. 3: Lustiges Tiervolk mit Punkten und Strichen.

Im Internet gibt es viele Anleitungen zum Selber-Malen: Eine gute Link-Sammlung bietet [2] (englischsprachig); eine Sammlung fertiger Bilder -- darunter auch jede Menge Pinguine -- finden Sie unter [3]. Wer weder kopieren noch selbst malen möchte, erstellt mit dem Kommandozeilen-Tool figlet anschauliche ASCII-Banner.

Figlet hisst die Fahne

Sofern noch nicht installiert, finden Sie das gleichnamige Paket bei Suse Linux 9.0 und 9.1 auf den Installationsmedien und spielen es wie gewohnt über YaST ein. Benutzer von Mandrake Linux 9.2 finden ein figlet-RPM-Paket z. B. unter ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake/9.2/contrib/i586/figlet-221-1mdk.i586.rpm. Für Fedora Core 2 gibt es Pakete unter http://dag.wieers.com/packages/figlet/.

Öffnen Sie ein Terminal-Fenster (z. B. über [Alt-F2] und Eingabe von konsole) und tippen Sie am Prompt:

figlet Hallo Welt

Das Terminal präsentiert das fertige Banner (Abbildung 4) und gibt anschließend wieder den Prompt frei. Experimentierfreudige Benutzer können sich die weiteren Kommandozeilen-Optionen anschauen: So ist es beispielsweise möglich, mit dem Parameter -f die Schriftart zu wechseln. Im Verzeichnis /usr/share/games/figlet/fonts/ (Suse Linux 9.0 und 9.1) bzw. /usr/share/figlet/ (Mandrake Linux 9.2 und Fedora Core 2) finden Sie eine große Auswahl an verfügbaren Schriften (Dateien, die auf .flf enden). Hängen Sie an den Parameter einfach den Namen der Schrift (ohne die Dateiendung) an, z. B.:

figlet -f bubble Text

Abb. 4: "figlet" malt ASCII-Banner auf der Kommandozeile.

Auf Wunsch können Sie den Banner-Text zentrieren (figlet -c Text), linksbündig setzen (default figlet -l Text) oder an den rechten Terminal-Rand bringen (figlet -r Text). Wem die zusammengerückten Buchstaben nicht gefallen, der setzt die Parameter -k oder -W ein -- dann baut figlet mehr Abstand zwischen den einzelnen Zeichen ein.

Eine Alternative bietet der ASCII-Banner-Generator unter [4]. Ins Feld Text geben Sie den Banner-Text ein; aus dem Feld Font wählen Sie eine Schriftart aus. Über die drei Pull-down-Menüs stellen Sie ein, ob der Text vorwärts, rückwärts, linksbündig, zentriert, rechtsbündig und mit Abständen zwischen den Zeichen erscheint. Klicken Sie abschließend auf den Button do it!, erscheint im unteren Feld das Banner (Abbildung 5).

Abb. 5: Der ASCII-Banner-Generator -- "figlet" per Web-Interface.

Wer AA sagt, muss auch BB sagen

Die ASCII-Art-Bibliothek aalib wandelt Grafiken in ASCII-Text um. Benutzer von Suse und Mandrake Linux finden das Paket auf den jeweiligen Installationsmedien. Für Fedora Core 2 gibt es ein RPM-Paket unter http://dag.wieers.com/packages/aalib/. Mit dabei sind verschiedene Tools, z. B. ein animiertes ASCII-Kaminfeuer ([Alt-F2] und Eingabe von aafire) und das Programm aview, das aus Bilddateien ASCII-Grafiken rendert. Zusätzlich benötigen Sie ImageMagick; Sie finden das Paket im Zweifelsfall auf den Installationsmedien Ihrer Distribution. Zum Umwandeln gehen Sie die folgenden Schritte:

  1. Öffnen Sie die Bilddatei mit dem Programm display ([Alt-F2] und Eingabe von display <bild.png>.
  2. Klicken Sie mit der linken Maustaste in das Fenster, um das Menü zu öffnen -- es erscheint in einem separaten Fenster.
  3. Wählen Sie im Menü den Punkt Enhance / Grayscale, um das Bild in Schwarz-Weiß darzustellen.
  4. Je nach Bildqualität empfiehlt es sich, den Kontrast und die Helligkeit anzupassen. Je deutlicher das Motiv zu sehen ist, desto besser wird das anschließende Ergebnis.
  5. Speichern Sie das fertige Bild im Portable-Bitmap-Format: Wählen Sie dazu im Menü File / Save und geben Sie der Datei im Feld File name: die Dateiendung .pbm.

Das fertige Kunstwerk betrachten Sie über den Schnellstarter [Alt-F2] und Eingabe von aview <bild.pbm> (Abbildung 6).

Abb. 6: Der Linux-Pinguin einmal in ASCII.

Eine tolle Demonstration, was aalib alles kann, liefert das Programm bb. Auch dieses finden Sie für auf den Installationsmedien und spielen es über den jeweiligen Paket-Manager ein. Benutzer von Mandrake Linux 9.2 finden ein RPM unter ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake/9.2/contrib/i586/bb-1.3.0-1mdk.i586.rpm. Anwender von Fedora Core 2 müssen einen kleinen Umweg gehen: Unter den üblichen Quellen war kein passendes Paket zu finden, allerdings ließ sich nach Installation von ftp://at.rpmfind.net/linux/fedora/core/2/i386/os/Fedora/RPMS/compat-slang-1.4.5-7.i386.rpm" das Paket ftp://ftp.nluug.nl/pub/os/Linux/distr/altlinux/Sisyphus/files/i586/RPMS/bb-1.3-alt0.1.i586.rpm auf dem Testrechner zur Mitarbeit überreden.

Sie starten das Tool z. B. über [Alt-F2] und Eingabe von bb. Wählen Sie aus, ob Sie Sound-Unterstützung wünschen, und nach kurzer Zeit fängt der Desktop an zu rocken und zu flimmern. (hge)

Infos

[1] Star-Wars-Text-Animation im Browser: http://www.asciimation.co.nz/
[2] Mehr zur ASCII-Kunst und jede Menge Links: http://www.ascii-art.de/
[3] ASCII-Art-Sammlung: http://www.stoeff.ch/fun/ascii-art.shtml
[4] ASCII-Banner-Generator: http://www.network-science.de/ascii/

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2017 COMPUTEC MEDIA GmbH | Last modified: 2007-01-25 17:30

Nutzungsbasierte Onlinewerbung

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]