ASCII-Art

ASCII-Art (englisch für ASCII-Kunst) ist eine Kunstrichtung, die mit Buchstaben, Ziffern und Sonderzeichen einer nicht-proportionalen Schrift kleine Piktogramme oder ganze Bilder darstellt. Auf Computern eignet sich der ASCII-Zeichensatz hierfür besonders, da er weltweit auf nahezu allen Systemen verfügbar ist. Vor dem Aufkommen der Computer gab es bereits Schreibmaschinenkunst (englisch Typewriter Art), bei der mittels Schreibmaschine oder Fernschreiber Bilder erzeugt wurden. Der US-Amerikaner Paul Smith gilt hier als künstlerischer Vorreiter.

Mittlerweile existieren aber auch spezialisierte Programme, die das Zeichnen erleichtern und mit denen sich auch Animationen gestalten lassen. Moderne Programme nutzen zudem Unicode, nicht ASCII.

Geschichte

Vor der Einführung von grafikfähigen PCs war die ASCII-Art die einzige Möglichkeit zur Schaffung von Bildelementen und Illustrationen und vor allem in Mailboxen weit verbreitet. Es stehen dabei nur die 128 ASCII-Zeichen zur Verfügung, was bedeutet, dass z. B. Umlaute und viele Sonderzeichen nicht verwendet werden können. Erweiterungen des ASCII-Zeichensatzes auf 256 Zeichen sind betriebssystem- oder länderspezifisch und damit nicht mehr global anwendbar.

Frühe Beispiele nach diesem Schema wurden bereits in den 1940er Jahren und zuvor mit Setzkästen oder mechanischen Schreibmaschinen in mühevoller Kleinarbeit erstellt. Zur Vervielfältigung diente zunächst Kohlepapier und später auch Fotokopiergeräte. Einen ersten Höhepunkt erlebte das Genre mit der Verbreitung des Fernschreibers, da die Grafiken dort auf Lochstreifen gespeichert und an andere verschickt werden konnten, die ihrerseits die Grafik beim Empfang auf Lochstreifen „mitlochen“ konnten. In den 1970er Jahren war das Erstellen großformatiger ASCII-Bilder ein beliebter Zeitvertreib an Großrechnern.

Formen der ASCII-Art

  • ASCII-Art ist in Signaturen von E-Mails oder Usenet-Postings sehr gebräuchlich und im Weitesten mit Emoticons vergleichbar.
  • Eine Variante der ASCII-Art ist die ANSI-Art, bei der mittels ANSI-Escapesequenzen auf dem Computer-Bildschirm sowohl farbige als auch animierte, auf dem Zeichensatz basierende Grafiken generiert werden können. Im Gegensatz zur ursprünglichen ASCII-Art können ANSI-Grafiken normalerweise nicht auf einem Drucker ausgegeben werden.
  • Eine ASCII-Grafik sollte nicht breiter als 80 Zeichen sein, da dies oft die maximale Buchstabenzahl je Zeile ist, die auf Textbildschirmen (Terminals) oder Zeilendruckern korrekt dargestellt werden kann.
  • Es existiert auch ein Perl-Script, das in Form einer ASCII-Grafik formatiert ist und beim Ablauf sich selbst wiederum als ASCII-Bild ausgibt.
  • Eine verwandte Methodik ist die Komposition von Großbildern durch die Auswahl von geeigneten Kleinbildern für die „Pixel“, wie sie etwa beim Linux Image Montage Projekt (LIMP) eingesetzt wird.

Beispiele

Allgemeine Beispiele

         (__)
         (oo)
   /------\/     __        O         __O       .___.     <( ,, )>
  / |    ||     /o)\      /H\      _\-<,       {o,o}     ( (..) )    (-_(-_(-_-)_-)_-)
 *  /\---/\     \(o/      / \    _(_)/(_)_     /)__)        -
    ~~   ~~      ¯¯                            -"-"-
     Kuh     Yin/Yang   Person   Radfahrer    Eule    Hausschwein     Gesichter

Die Kuh wird angezeigt, wenn man unter Systemen mit dem Debian-Paketverwalter apt den Befehl „apt-get moo“ eingibt (siehe auch Easter Egg).

Beispiele aus dem Usenet

Bei vielen nicht-trivialen ASCII-Werken ist es üblich, eine Signatur in die Grafik einzubauen, hier SSt, Kürzel eines Autors.[1] Es gilt als zum guten Ton gehörend, solche Signaturen bei einer Weiterverbreitung der Grafik niemals zu entfernen, zumal ASCII-Art von vielen Autoren als urheberrechtlich geschütztes Werk angesehen wird. Ob und ab welcher Komplexität oder Originalität ein solches Werk schützbar ist, ist nicht geklärt.

              __ __
            ,;::\::\
          ,'/' `/'`/
      _\,: '.,-'.-':.
     -./"'  :    :  :\/,
      ::.  ,:____;__; :-
      :"  ( .`-*'o*',);
       \.. ` `---'`' /
        `:._..-   _.'
        ,;  .     `.
       /"'| |       \
      ::. ) :        :
      |" (   \       |
      :.(_,  :       ;
       \'`-'_/      /
        `...   , _,'
         |,|  : |
         |`|  | |
         |,|  | |
     ,--.;`|  | '..--.
    /;' "' ;  '..--. ))
    \:.___(___   ) ))'
           SSt`-'-''

Um einer Inflation immer größerer Grafiken in den Signaturen von Usenet-Postings vorzubeugen, gilt es als netiquettekonform, nicht mehr als vier Zeilen automatisch anzuhängen. Hieraus ergibt sich die Schwierigkeit, mit nur relativ wenigen Zeichen aussagekräftige Bilder zu erzeugen, wie bei dieser Vier-Zeilen-Grafik, die eine Katze darstellt:[2]

   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,4-  ) )-,_..;\ (  `'-'
 '---''(_/--'  `-'\_)  fL

Anstatt nur die Umrisse darzustellen, gibt es auch die Möglichkeit, flächig zu arbeiten. Dabei kann man mit verschiedenen Zeichen Hell- und Dunkel-Effekte erzielen.[3]

Einzeilige ASCII-Art

Einzeilige ASCII-Art kann wie Emoticons in Fließtext eingebaut werden. Ein durch ASCII-Art ausgedrückter zugeworfener roter Hering ist eine typische Antwort auf den Beitrag eines Trolls. Er soll die Wertlosigkeit seines Beitrags unterstreichen:

 <*)))><

Ein weiteres Beispiel ist die Rose, die als Text gewordener Blumengruß verwendet wird:

 @>--}---

Schaltpläne

Da es im Usenet oft nicht möglich ist, Binärdateien anzuhängen, werden z. B. in Elektronikgruppen ASCII-Zeichnungen für die Darstellung von Schaltplänen verwendet. Somit ist auch kein externes Anzeigeprogramm oder ein Browser-Plugin erforderlich. Folgendes Beispiel zeigt einen Multivibrator (astabile Kippstufe):

   .----------o----------o-----------------o---------.
   |          |          |                 |         |
   |         .-. R1     .-. R2            .-. R3    .-. R4
   |         | | 25k    | | 250k          | | 250k  | | 25k
   |         | |        | |               | |       | |
   |         '-'   C1   '-'               '-'  C2   '-'
   |          |          |                 |         |
   |          |    ||    |                 |   ||    |
   |          o----||----o----.     .------o---||----o
   | 9V       |    ||          \   /           ||    |
  ---         |                 \ /                  |
   -          |    1n            /             1n    |
   |      Q1  |                 / \                  | Q2
   |           \|              /   \               |/
   |    2N2222  |-------------'     '--------------|  2N2222
   |           <|                                  |>
   |          |                                      |
   |          |                                      |
   '----------o--------------------------------------'

Es gibt keine festen Regeln, wie Schaltzeichen optimal in ASCII-Grafiken darzustellen sind. Je nach Platzbedarf verwendet man möglichst geeignete Anlehnungen, teils aber auch eigene Erfindungen oder ältere Formen, die nicht den heutigen Standards genügen, die aber leichter in ASCII darstellbar sind.

Eine andere, raumsparende Darstellung zu obigem Beispiel wäre:

   +-------+----+-----+----+
   |       |    |     |    |
   |      25k  250k  250k 25k
   |       |    |     |    |
   |+      +-1n-+   +-+-1n-+
   9V      |     \ /       |
   |       |      X        |
   |       C     / \       C
   | 2N2222  B--+   +----B  2N2222
   |       E               E
   |       |               |
   '-------+---------------+

Als weiteres Beispiel aus der Beschaltung von Scartkabeln (komplett ausgeführte Versionen siehe dort):

 -| Linien:    leitende Verbindung, Kabel
  + Kreuz:     Abzweigung, verbundene Kreuzung, Knoten
  X Kreuz:     nicht verbundene Kreuzung
  ) Brücke:    nicht leitend verbundene Kreuzung
  O Schirmung: Schirmleitung zum umhüllten Kabel

Beispiel Logikgatter nach DIN 40700 (vor 1976) statt der aktuellen IEC 60617-12

   +-.
  -|--\
   |   |*---   2-fach NOR
  -|--/
   +-°

Im Vergleich: Mit Logisim erstellter Schaltplan eines Volladdierers und der dazugehörige ASCII-Art-Schaltplan.

Volladdierer
O-+---|>o-|‾\
  |       |  |-+
  | +-----|_/  +-\‾\
O-)-+             | >-+---|>o-|‾\
  +-)-----|‾\  +-/_/  |       |  |-+
  | |     |  |-+      | +-----|_/  +-\‾\
  | +-|>o-|_/         | |             | >-0
O-)-)-+               +-)-|>o-|‾\  +-/_/
  +-)-)---|‾\         | |     |  |-+
    | |   |  |------+ | +-----|_/
    +-)---|_/       | | |
      +-------------)-)-+
                    | +-)-----|‾\
                    |   |     |  |-+
                    |   +-----|_/  +-\‾\
                    |                 | >-0
                    |              +-/_/
                    +--------------+

Tabulaturen

Siehe auch: Tabulatur#Moderne Gitarrentabulatur

ASCII-Tabulaturen für Gitarre und Bass existieren ebenfalls. Das Beispiel zeigt den Gitarrenriff zu Smoke on the Water, gespielt mittels Powerchords.

 e---------------------------------------------
 B---------------------------------------------
 G--0--3---5---0--3---6--5---0--3---5---3--0---
 D--0--3---5---0--3---6--5---0--3---5---3--0---
 A---------------------------------------------
 E---------------------------------------------

Schriften

Zur ASCII-Art gehören auch die sogenannten FIGlet-Fonts, die es in vielfältigen Ausführungen gibt.

     ____  ____  ___  __    ____  ____           ___          __
    ( ___)(_  _)/ __)(  )  ( ___)(_  _)         / _/__  ___  / /_
     )__)  _)(_( (_-. )(__  )__)   )(     -    / _/ _ \/ _ \/ __/
    (__)  (____)\___/(____)(____) (__)        /_/ \___/_//_/\__/

Beispiel 3D-Grafik

Das Penrose-Dreieck

     ____  ____  ____  ____                      ______________________
    /\   \/\   \/\   \/\   \                    /\                     \
   /  \___\ \___\ \___\ \___\                  /  \    _________________\
   \  / __/_/   / /   / /   /                  \   \   \                /
    \/_/\   \__/\/___/\/___/                    \   \   \__________    /
      /  \___\    /  \___\                       \   \   \    /   /   /
      \  / __/_  _\  /   /                        \   \   \  /   /   /
       \/_/\   \/\ \/___/                          \   \   \/   /   /
         /  \__/  \___\                             \   \  /   /   /
         \  / _\  /   /                              \   \/   /   /
          \/_/\ \/___/                                \      /   /
            /  \___\                                   \    /   /
            \  /   /                                    \  /   /
             \/___/                                      \/___/

     unterbrochene Version                       ununterbrochene Version

Dreidimensionalität nach Art des „Magischen Auges“

Seit 1996 gibt es Stereogramme nach der SIS- oder SIRDS-Methode, die normalerweise mit horizontal periodisch wiederholten Punktgrafikmustern arbeitet. Das geht aber auch in ASCII, wie ein Student (hier anonymisiert und etwas ausgebaut) in seiner Usenet-Signatur demonstrierte:

      :---------------:---------------:---------------:---------------:
      | Hannes        Hannes        Hannes        Hannes        Hannes| 3-D-Signatur.
      | Muster        Muster        Muster        Muster        Muster| Aus etwa 50 cm Entfernung betrachten.
      | muster@ins.   | muster@ins.   | muster@ins.   | muster@ins.   | - In die Ferne starren: "Hintergrund"
      | unisupergut.de| unisupergut.de| unisupergut.de| unisupergut.de|   erscheint als hinterste Ebene;
      | Hinter-       |   Hinter-     |     Hinter-   |       Hinter- | - Augen kreuzen: "Hintergrund"
      | grund         |   grund       |     grund     |       grund   |   erscheint als vorderste Ebene
      +---------------+---------------+---------------+---------------+

Automatische Erstellung

ASCII-Art Version des Wikipedia Logos.

Es gibt Programme, die ASCII-Grafik in Bilder echter Grafikformate konvertieren. Das kann man zunächst einfach von Hand tun, indem man ein Bildschirmfoto vom Fenster mit der ASCII-Grafik macht. Für eine skalierbare Grafik ist der Aufwand allerdings höher.

Ergebnis einer automatischen Konvertierung mit dem Programm „JavE

Weiterhin gibt es auch Programme und Programmbibliotheken, die Bilder und Filme in ASCII-Bilder (aalib) oder ASCII-Filme (aaplayer) umwandeln. Eine Interpretation der ursprünglichen Grafik als Vorlage für Linienführung ist hierbei eher selten. Oftmals wird die Umsetzung der Bildhelligkeit durch die Flächendeckung der verwendeten Zeichen realisiert. Das Programm JavE erlaubt beispielsweise durch die Wahl verschiedener Zeichengruppen sowie der Änderung von Helligkeit und Kontrast der Vorlage eine Beeinflussung des Ergebnisses einer solchen Umwandlung. Solche automatischen Konvertierungen erzeugen meist sehr große Bilder, bei kleinen Formaten ist die Qualität ohne massive manuelle Nachbearbeitung je nach Bildvorlage meist wenig zufriedenstellend.

Bei ATI-Grafikkarten unter Windows gibt es bei der Benutzung von OpenGL einen sogenannten „Smartshader“ (ein Echtzeit-Berechnungseffekt auf Shader-Basis), der die gerenderten Bilddaten als ASCII-Art auf dem Bildschirm wiedergibt.

Video-Player wie MPlayer und der VLC Media Player können Videos als monochrome oder farbige ASCII-Art wiedergeben. Sie stützen sich dabei auf die freien Programmbibliotheken AAlib (monochrom) und libcaca (farbig), letztere beinhaltet auch Programme zum Anzeigen und Konvertieren von Grafiken in ASCII-Art und unterstützt Unicode.[4]

Auch auf Smartphones gibt es Apps, die Kamera-Bilder live in eine ASCII-Grafik umwandeln. Ein Beispiel dafür ist AsciiCam[5] für Android.

Siehe auch

Weblinks

ASCII-Art im Internet

Commons: ASCII-Art – Sammlung von Bildern, Videos und Audiodateien


Software zum Erstellen von ASCII-Art

Einzelnachweise

  1. Sebastian Stöcker: ASCII Art by SSt. 17. März 2012, archiviert vom Original (nicht mehr online verfügbar) am 3. August 2013; abgerufen am 22. März 2013.
  2. Felix Lee: felix lee - ascii art. Archiviert vom Original am 5. Mai 2008; abgerufen am 22. März 2013.
  3. Normand Veilleux: Ascii Art by Normand Veilleux. Abgerufen am 22. März 2013.
  4. Thomas Winde, Frank Hofmann: The Art of Letters. In: Linux-Magazin. November 2014, abgerufen am 16. Mai 2021 (englisch, Issue #168).
  5. AsciiCam auf F-Droid.org; abgerufen am 26. März 2016.

Auf dieser Seite verwendete Medien

Anna ascii.png
Autor/Urheber: smial, Lizenz: CC BY-SA 2.0 de
Automatische Konvertierung eines Fotos in ASCII-Art mit Jave, einem Java-basierten ASCII-Art-Editor.
Redwingblackbird1.jpg
Red-winged blackbird
Volladdierer.JPG
Autor/Urheber: DominikSL, Lizenz: CC BY-SA 3.0
full adder
Wikipedia Logo as ASCII Art.png
Autor/Urheber: EU-DE-NRW-SI, Lizenz: CC BY-SA 4.0
Das Logo von Wikipedia als ASCII art. (Erzeugt mit einer modifizierten Version von Terminal [Schriftart])
Red-winged blackbird ASCII art.png
Autor/Urheber: user:MichaelBillington, Lizenz: CC0
Red-winged blackbird rendered in ASCII for use in the ASCII article, to show conversion between images and text. Negation of the original image by Michael Billington so the result is not negated.
Bird converted to ASCII characters.png
(c) Csl77 aus der englischsprachigen Wikipedia, CC BY-SA 3.0
Image of bird converted to ASCII characters and colorized with HTML. It was converted with asciiconvert.com by Christian Stigen Larsen