ASCII art
_ ____ ____ ___ ___ _
/ \ / ___| / ___|_ _|_ _| __ _ _ __| |_
/ _ \ \___ \| | | | | | / _` | '__| __|
/ ___ \ ___) | |___ | | | | | (_| | | | |_
/_/ \_\____/ \____|___|___| \__,_|_| \__|
ASCII art je výtvarné umění, které pracuje s počítačovým textem jako s výtvarným médiem. Obrázky, které tvoří, se skládají ze znaků kódu ASCII. ASCII art je možné vytvořit jakýmkoli textovým editorem a většinou je potřeba ho zobrazit neproporcionálním fontem (tedy každé písmeno má stejnou šířku, podobně jako na psacím stroji čiterminálu). Jeden z pravděpodobně nejstarších ukázek se objevuje v roce 1881.[1]
ASCII art se používá kdekoli se text přenáší nebo zobrazuje snadněji než grafika, anebo v některých případech, pokud není přenos obrázků vůbec možný, tedy psací stroje, dálnopisy, negrafické počítačové terminály, starší počítačové sítě (např. BBS), email a Usenet news. ASCII art se také používá ve zdrojových kódech programů pro zobrazení loga firmy nebo produktu a kreslení diagramů.
Dovedením tohoto média do extrému je jeden video driver pro populární počítačovou hru Quake, který zobrazuje hru jako ASCII art.[2]
Druhy a příklady ASCII artu
Nejjednodušší formou ASCII artu je kombinace dvou nebo tří znaků pro vyjádření emocí, zvaná emotikona(slangově: smajlík). Představte si tyto příklady otočené o 90 stupňů po směru hodinových ručiček, aby se dalo rozumět jejich obsahu:
:-) nebo :) ..úsměv
:-( ..........mračení
;-) ..........mrknutí
:-P ..........ha ha (vyplazený jazyk)
B-) nebo 8-) .bezva (sluneční brýle)
Složitější příklady používají několik řádek textu pro větší symboly nebo složitější obrázky. Některé běžné příklady:
(__)
(oo)
/-------\/ O
/ | || /o)\ /H\
* ||----|| \(o/ / \
~~ ~~
kráva Jin/Jang postavička
Často si lidé takové obrázky přidávají na konec e-mailu nebo do Usenetové konference, kde se jim říkásignatura.
Některé druhy neberou v potaz konkrétní tvar znaků a používají je jako více méně zabarvená políčka s proměnným gradientem pro jednoduchou simulaci ditheringu:
_a,
_yQa.
_qTWW(
je`?QX:
<d+ -3Wm;
_qos_s%mWw,
a2?????TWW(
sd( -?Qm;.
.amm; .xmWmc
"""""` """""""
Další druh vytváří slova pouze jedním druhem znaku na jedno písmeno. Příklad:
AA HHHHHH HHHHHH OOOOOOOO JJJJJJ !!!
AAAA HHHH HHHH OOOOOOOOOOOO JJJJ !!!!!
AAAAAA HHHH HHHH OOOO OOOO JJJJ !!!!!
AAAAAAA HHHH HHHH OOOO OOOO JJJJ !!!!!
AAA AAAA HHHHHHHHHHHHHH OOOO OOOO JJJJ !!!!!
AAAA AAAAA HHHHHHHHHHHHHH OOOO OOOO JJJJ !!!!!
AAAA AAAA HHHHHHHHHHHHHH OOOO OOOO JJJJ !!!
AAAAAAAAAAAA HHHH HHHH OOOO OOOO JJJJ
AAAA AAAAA HHHH HHHH OOOO OOOO JJJJ !!!
AAAAAA AAAAAA HHHH HHHH OOOOOOOOOOOO JJJJ !!!!!
AAAAAAA AAAAAAA HHHHHH HHHHHH OOOOOOOO JJJJ !!!
Dalším použitím ASCII artu je vytvoření jedinečné typografie:
__ )
(, ) | / . /) . /) .
| /| / (/_ _ _ _(/ _
|/ |/ (__/(___(__/_)__(/__(_(__(__(_(_
/ | ,-/
(_/
Počítačový program Figlet (a další programy, které podporují jeho standard) umožňují návrh a použití ASCII fontů.
_____ ___ ____ _ _
| ___|_ _/ ___| | ___| |_
| |_ | | | _| |/ _ \ __|
| _| | | |_| | | __/ |_
|_| |___\____|_|\___|\__|
Příklad, jak může vypadat Amigastyle (občas se nazývá styl staré školy). Tento druh ASCII artu je vždy ručně psán v textovém editoru. Některé populární editory, které se k vytváření používaly jsou CygnusEditor (neboli CED pro počítače Amiga) a EditPlus2 (na PC).
______.----------------------------.______
:_) (_:
....|: :|....
: :<> <>: :
:···|: :|···:
.---+- -:- -:- -+---.
/\___ | /\___ /\_____ /\______ /\______ | /\___
_/ / | _/ /___ _/ __ / _/ __ / _/ __ / : _/ /
\ __//\ :/\\ _// / \ )/ //\ \ )/ //\ \ )/ //\ /\ \_ //\
_/—— \)— \/ —— __— \/—— — —— \/—— —_ —— \/—— —_ —— \/ —)/ —— \_
\ )/— (/ (/ — /
/—— / / / _ ——\
\_ /\__/ /\_ /\__/ /\__/ /\_(/ _/
=/ /===/ /==/ /===/ /=©d/ /=:=/ /=
—————————\/: :——————\/ ——————\/ ———————\/ ————————\/ | ——————\/
______.---+- :____ /\_____ : : ________: -+---.______
:_)····· :..... _/ /--+--./\_____.---+---./\___ .....: ·····(_:
|: : ..:..\ / : _/ / : _/ / ..:.. : :|
<> :.:.: : \ __//\ /\\ __ //\ /\ \_ //\ : :.:.: <>
|: :..._/—— \)— \/ —— )/ —— \/ ——)/ —— \_...: :|
: ____ ____ \ — — / ____ ____ :
\_. _\_ \\ //—— _ ——\\ // _/_ ._/
---· _ \— _ \\ \\_ /\_ /\_(/ _// // _ —/ _ ·---
/—· \——— —\——— ——=/ /:=/ /=:=/ /= —— ———/— ———/ ·—\
: —————— —————————\/-+--————————\/--+--——————\/ —————— :
|: : : :|
<> . . <>
|: _ . | __ .__.__ .|__ __ . :|
:—)..... __(__|-|(_/_| (| ((__||__)(__)(__|__ .....(—:
——————·-----------·-------|----|--|----(/----------(/--·-----------·——————
V ASCII lze vyrobit i celé animované filmy. Nejznámější příklad je převedení filmu Star Wars naasciimation.co.nz.
Metody generování ASCII artu
Specializované textové editory jsou navrženy pro snadné kreslení čar, boxíků a vyplněných oblastí. Generování ASCII artu je algoritmicky snadné. Dobrý příklad je aplikace na webu IMG2TXT. Převod rastrové grafiky (bitmapy) na ASCII art je speciální případ vektorové kvantizace. Příklad generovaného obrázku, i s originálem na straně, je uveden níže:
Původní obrázek
aaaaaa222222SSSSSS2222222SSSS2a22222SSSSSSSS22aaaaaaaa222222SS222aaaZaaZZZZ
2222aaaaS2222222222222222SS2SS22222SSXXXSSXSSXSSSXXXXXSSXSXXXXXX7XSSSSSSS22
2222222aaaZZa222222a222222SS22a22SSX77rrr777X77XXXSSSSSXSSXSSSXXXSXSS22S222
22a2222aaaaaaa22222aaaZZa2aa2aa2222SSSSXXXSSSSXXXXXXSXSXXSSSSXSSSXX7X22SSS2
22222a222222222222aaaZZZZZaaZaaZZZaaaa2a2SSSSSSSXSXXXXXXXXSX7;..,;20X77XXXS
2SSSSSXSSSSSSSSSSSSSS2222aa2222aaaaaa222222SSX7X777XXXX7r: aMMMMBS7XX7XXX
SSSSSSXXSXXSSX7:,::i:.:rXSSSSSS22222a2SSXX7XXX77rr;i, :WMMM@r.,;XSSSSS22
S22a222S2222XirWMMMMMM@a:;XSSXXXSSXXXX77;ii:,,,:...:rX0MMMMZ: ,;XSS2S222222
SSSS22aaa22X,2MMMWWW@@MMM2.:i:,,. ..i7ZB@MMMMMMMMMMMM07 :7SaaaZZaaaaa222
XSXSXXS2S7: rMMZWWWWWWW@MMMB0MMMMMMMMMMMMMMM@WMW@@W@@@@WMMZaZ8888ZZaa2222S2
rrr;77rriXMMMMMWWWWWWWWWWWMMMM@W@M@@@@@@WWWWWBWW@WW@8ZW@MXS0B00088ZZZZaaaa2
;;iiiii:;ZX;,8MMWWW@@MMMMMMMM@W@WWWWB0@
08a222SS22aZZZZ2BMir7r MMMMBBWWBBBBWWWWWWMMM0,:;rr7XXXXXX777rr77XX7X77X7X
0WWWBB088888ZZ8ZSZMMM8MMMMM@WWWWBBWW@WWWWWMM2,ir7r7r77XXX77rr;;;rr7XXSS2222
SSSaaaZZZaaa22222X;rWMMMMWWWWWWWWWWWWWWWWWMB;r77XXXXS2222SSX77rr;rr7XXX2aZa
SSSSSSXXXXX7XXXX777;. XWMMM@WW@@@@WWWWWWMMM22a22222222222SSXX7rrrrrr7XXSSSS
2222SXXXX7XXX7XXXXXX7ri i0M@@MWMMMMM@MMMBZZ0B000000088ZZZZZZZZZaaa22SSSSXS
22aaZZ8Z888808888ZZZZaa2X:MZMMW ..78WMMZrXSSS2222aaaaaZZZZZZZZaZaaa222SS2SS
2SXXSS22aaZ880000BBBBB088S2BWMMXaX7 ;Mii7rr;;;i;;;;;;;rr777r7r7r7rrr7rr77XX
888ZZZZa2SSX77XXSSXSSSSS2SX7 8SrXMr;XX77r77rrrr;;;;;rrrr77r7r7rrrr;rr;i;
Z8088ZZZZZZ22SSSSSXX7777rrrXai 7270Mr72aZZZZ888888888ZZZaSSXSXSSSX7r;i::;rS
aaaSS2222aaaaaaZaZZZ888888Z88M; .MMrrSSXXXS2aaa2aaaa2S77rrrr777X77XXX2a888Z
XXX7X77rrr7XXS222222aZZZ8ZZa7@2: 7M,;;;;iiii::,::,,...,:,.,::i;r;rr7X2ZZa22
XXr;ii::iiii;r777rrr7ri::iir,M,S MMZXS2Zaaa22SXX77777XS222222aaa2SXX777r7XX
X77r;rr7XXXSSSSSXS22XrrXSa80Z080, 2Z8aaaZZ880BBWWWWWWWWWWWWWW@WWWWWB08ZZZZ
i,:iirrrrr7rrrrr7a:;MMM@WBB0000WMW i8Z22aaa8Z888Z888000BBB88ZZZZ0BBW@MMMMB
822SXXaZa2XX77777Z rMM@8Z880BMM: :XBZaaa22222ZZZZZaa222XXXXXXXXXXXS2aZZ2
8WaSSr77XX2Z0@@@WMMX 7MM@0ZZZ:M2 ;0Z8aSX7r;7XaZaS77r;rXX2aa2SSXXXSSX7r;
;;7X;:ii.:..7SZ8BWZ; ;2S77 XB SiX;;rrr;ii;i::,::;r;7X;iii::,,.... ,
282X, ..2a8W8Sr.,;a8WMMM@, 2BMW22@. 72a22S22a2aZZ8082;i;:,:iir7XSSXriii
,:SZ,7. i:i . ;.,.i7rSWMMMr ,2B0iM ,8SSSSXrr7777XXS22a2aZZ8880ZSXX280
. rZMZS8 r:.7 ri , ;08Z r8SBZ :;X7SaZ80Z227r:... .,. ,ir7X2
BBZZX7;2;.a8XSSr8000Z@MMMMW0082i ;8WX:70SMSSaa:iii;;rXX7X0MM@BB0Za2S77rr7rX
Další metoda je převedení obrázku do stupňů šedi s méně než 8bitovou přesností s následným přiřazením výstupního znaku pro každou úroveň šedi. Tak to dělají některé on-line konvertory (viz externí odkazy níže). Často se takto tiskly fotografie, právě pro zvýšené odstupňování tónů.
V sedmdesátých a osmdesátých letech bylo populární vytvářet druh ASCII artu, který spoléhal na několikanásobné vytištění jednoho znaku na stejné místo. Tím se vlastně zvýšila jeho sytost. Často se takto tiskly také fotografie, neboť se přetiskem zvyšovalo rozlišení šedotónové škály. Dokonce se dala použít i tiskárna s typovým kolečkem. Tato technika uvadla, protože všechny běžné tiskárny mohou tisknout fotografie, ale textové soubory (nebo emailové zprávy nebo Usenetové příspěvky) neumožňují vykreslit text vytištěný přes sebe. Nicméně podobná technika zůstala zachována: obrázky ASCII art stínované nebo obarvené ANSI Escape sekvencemi nebo HTML značkami, čímž se přidá různorodost.
Animované ASCII art je možné pomocí video terminálu s Escape sekvencemi, například ANSI X3.64 pro přesunutí kurzoru do obrázku.