ASCII-Art

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

ASCII-Art (englisch für ASCII-Kunst) ist eine Kunstrichtung, die mit Buchstaben, Ziffern und Sonderzeichen einer nichtproportionalen Schrift kleine Piktogramme oder ganze Bilder darzustellen versucht. 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 die Typewriter Art, bei der mittels Schreibmaschine oder Fernschreiber Bilder erzeugt wurden. Der 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.

Geschichte[Bearbeiten]

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 mit 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.

ASCII-Art heute[Bearbeiten]

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-Steuercodes 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[Bearbeiten]

Allgemeine Beispiele[Bearbeiten]

         (__)
         (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).


    _______                _______      <>_<>      
   (_______) |_|_|_|_|_|_|| [] [] | .---|'"`|---.  
  `-oo---oo-'`-oo-----oo-'`-o---o-'`o"O-OO-OO-O"o' 
                 Güterzug

Beispiele aus dem Usenet[Bearbeiten]

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]:

                                                                            ,aa,       ,aa
                                                                           d"  "b    ,d",`b
                                                                         ,dP a  "b,ad8' 8 8
                                                                         d8' 8  ,88888a 8 8
                                                                        d8baa8ba888888888a8
                                                                     ,ad888888888YYYY888YYY,
                                                                  ,a888888888888"   "8P"  "b
                                                              ,aad8888tt,8888888b (0 `8, 0 8
                          ____________________________,,aadd888ttt8888ttt"8"I  "Yb,   `Ya  8
                    ,aad8888b888888aab8888888888b,     ,aatPt888ttt8888tt 8,`b,   "Ya,. `"aP
                ,ad88tttt8888888888888888888888888ttttt888ttd88888ttt8888tt,t "ba,.  `"`d888
             ,d888tttttttttttttt888888888888888888888888ttt8888888888ttt888ttt,   "a,   `88'
            a888tttttttttttttttttttttttttt8888888888888ttttt88888ttt888888888tt,    `""8"'
           d8P"' ,tttttttttttttttttttttttttttttttttt88tttttt888tttttttt8a"8888ttt,   ,8'
          d8tb  " ,tt"  ""tttttttttttttttttttttttttttttttttt88ttttttttttt, Y888tt"  ,8'
          88tt)              "t" ttttt" """  """    "" tttttYttttttttttttt, " 8ttb,a8'
          88tt                    `"b'                  ""t'ttttttttttt"t"t   t taP"
          8tP                       `b                       ,tttttt' " " "tt, ,8"
         (8tb  b,                    `b,                 a,  tttttt'        ""dP'
         I88tb `8,                    `b                d'   tttttt        ,aP"
         8888tb `8,                   ,P               d'    "tt "t'    ,a8P"
        I888ttt, "b                  ,8'              ,8       "tt"  ,d"d"'
       ,888tttt'  8b               ,dP""""""""""""""""Y8        tt ,d",d'
     ,d888ttttP  d"8b            ,dP'                  "b,      "ttP' d'
   ,d888ttttPY ,d' dPb,        ,dP'      Normand         "b,     t8'  8
  d888tttt8" ,d" ,d"  8      ,d"'        Veilleux         `b     "P   8
 d888tt88888d" ,d"  ,d"    ,d"                             8      I   8
d888888888P' ,d"  ,d"    ,d"                               8      I   8
88888888P' ,d"   (P'    d"                                 8      8   8
"8P"'"8   ,8'    Ib    d"                                  Y      8   8
      8   d"     `8    8                                   `b     8   Y
      8   8       8,   8,                                   8     Y   `b
      8   Y,      `b   `b                                   Y     `b   `b
      Y,   "ba,    `b   `b,                                 `b     8,   `"ba,
       "b,   "8     `b    `""b                               `b     `Yaa,adP'
         """""'      `baaaaaaP                                `YaaaadP"'

Einzeilige ASCII-Art[Bearbeiten]

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[Bearbeiten]

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
  ) 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[Bearbeiten]

Siehe auch: Tabulatur#Moderne Gitarrentabulatur

ASCII-Tabulaturen für Gitarre und Bass existieren ebenfalls. Das Beispiel zeigt das 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[Bearbeiten]

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

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

Bei der Suche in Google nach „ascii art“ (ausschließlich in Kleinbuchstaben) wurde das Google-Logo als ASCII-Art angezeigt:

  ___                _
 / __|___  ___  __ _| |___
| (_ / _ \/ _ \/ _` |   -_)
 \___\___/\___/\__, |_\___|
               |___/

Beispiel 3D-Grafik[Bearbeiten]

Das Penrose-Dreieck

     ____  ____  ____  ____                      ______________________
    /\   \/\   \/\   \/\   \                    /\                     \
   /  \___\ \___\ \___\ \___\                  /  \    _________________\
   \  / __/_/   / /   / /   /                  \   \   \                /
    \/_/\   \__/\/___/\/___/                    \   \   \__________    /
      /  \___\    /  \___\                       \   \   \    /   /   /
      \  / __/_  _\  /   /                        \   \   \  /   /   /
       \/_/\   \/\ \/___/                          \   \   \/   /   /
         /  \__/  \___\                             \   \  /   /   /
         \  / _\  /   /                              \   \/   /   /
          \/_/\ \/___/                                \      /   /
            /  \___\                                   \    /   /
            \  /   /                                    \  /   /
             \/___/                                      \/___/
 
     unterbrochene Version                       ununterbrochene Version

Dreidimensionalität nach Art des „Magischen Auges“[Bearbeiten]

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[Bearbeiten]

Es gibt Programme, die ASCII-Grafik in Bilder echter Grafikformate konvertieren. Das kann man auch einfach von Hand tun, indem man ein Bildschirmfoto vom Fenster mit der ASCII-Grafik macht.

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 in neueren Versionen können Videos in farbigen ASCII-Zeichen wiedergeben.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

ASCII-Art im Internet
 Commons: ASCII-Art – Sammlung von Bildern, Videos und Audiodateien
Software zum Erstellen von ASCII-Art

Einzelnachweise[Bearbeiten]

  1. Sebastian Stöcker: ASCII Art by SSt. 17. März 2012, abgerufen am 22. März 2013.
  2. Felix Lee: felix lee - ascii art. Abgerufen am 22. März 2013.
  3. Normand Veilleux: Ascii Art by Normand Veilleux. Abgerufen am 22. März 2013.