Képfájlból ANSII kép

Jpg to ANSII
Jpg to ANSII

Bár valószínű, hogy nem ez lesz a legizgalmasabb írásom, de mivel olvastam róla, én is leírom, röviden. Nem egy mindennapi megoldás, de érdekes lehet időnként képfájlból ANSII karakterekből álló képet készíteni. Jellemzően érdekességként, vagy szövegfájlokban elhelyezett logóként találkozunk ilyen képekkel (pld. torrent fájlok nfo fájljainál), de pár honlapon is látni ilyent, de pld. a neofetch is mutat ilyen disztribúciós képet, ha úgy van beállítva.

OK, mi kell ehhez?

Kell egy kép, ami lehetőleg viszonylag egyszerű legyen, és elég jól szétválasztható határokkal. Jellemezően ezek logók és hasonló képek, de jó bármi más is. Ennél a programnál, amit amit bemutatok, a jpg fájlok lesznek a nyerők, bár nekünk nem okoz gondot már egy akármilyen képfájl akármilyen formátumba való konvertálása. Kismilló program, webes felület van erre. Mi természetesen ezt is megoldjuk majd parancssorból. Nem azért mert nem lenne grafikus program, hanem mert gyakorolni szeretnénk ezt is.

Kell a jp2a nevű kis szoftver. Ez az összes disztribúcióhoz elérhető, így csak telepíteni kell a megszokott módon.
Mivel a leírás, amit alapnak használtam felsorolja, így én is idemásolom, hátha valaki nem ismerné a saját Linux disztribúciójának a parancsát. remélem nincs ilyen ember, de hátha…

A Jp2a telepítéséhez az Arch Linux rendszerre, és annak változataira, Manjaro Linux stb.

sudo pacman -S jp2a

Debian, Ubuntu, Linux Mint:

sudo apt install jp2a

A Fedorán:

sudo dnf install jp2a

CentOS / RHEL-en:

sudo yum install epel-release
sudo yum install jp2a

Az openSUSE-n:

sudo zypper install jp2a

Telepítés után nincs más feladat, keresni egy képet és azt konvertálni ANSII formába:

jp2a ./Linux_logo.jpg

Ez a terminálba rajzolja ki a képet, ami a hagyományos Linux logónál úgy néz ki, ahogy feljebb láttad.A ./ a helyi könyvtár, én szeretem abban futtatni a parancsot, ahol a kép van, és akkor nem kell az elérési utat beírni. Illetve fordítva is igaz: ha ismeretlenebb a parancs, akkor érdemes egy külön könyvtárban futtatni, és oda bemásolni azokat a fájlokat, amiket használsz. Nem árt az óvatosság…

Értelemszerűen egymásután megadhatsz több képet is, akkor egymásután megjeleníti.

Sejthető, hogy a “kiíratjuk a terminálra, és ott csodáljuk témának” nincs nagy értelme, esetleg egy scriptbe berakni a logónkat. vagy egy képet és ezzel feldobni, de amúgy jobb lenne ha ezt le is mentené.

jp2a ./Linux_logo.jpg –output=tux_ansii

A kész „képet” a cat-tal megnézheted, de bármely szövegszerkesztő is megnyitja. Így már szerkesztheted is a szöveget hozzá…

Ha fontos a méret, akkor akár a magasság:

jp2a --height=30 ./Linux_logo.jpg

akár a szélesség:

jp2a --weight=30 ./Linux_logo.jpg

is megadható. Ha csak az egyiket adod meg, akkor a másik dimenziót kiszámolja, hogy ne torzuljon a kép. De Te is megadhatok a két értéket, simán egymásután írva:

jp2a --height=20 --width=40 ./Linux_logo.jpg

De ekkor beleerőlteti ebbe a formába,, ami torzulást is okozhat, ha nem felel meg az oldalaránynak.

A karakterszámot így is megadhatod:

jp2a --size=50x30 ./Linux_logo.jpg

A sötét vagy világos hátteret ezzel a két paranccsal választod meg:

jp2a --background=light ./Linux_logo.jpg
jp2a --background=dark ./Linux_logo.jpg

Érdemes mindegyiket lefuttatni, és azt választani, ami neked jobban tetszik.

Illetve invertálni, mintegy negatív képet is létre lehet hozni:

jp2a --invert ./Linux_logo.jpg

Ha olyan kedved van,akkor megadhatod azokat a karaktereket is, amiket használhat.

jp2a --size=50x30 --chars=" ...sskk@@" ./Linux_logo.jpg

Kis kísérletezés után már elég jól kinéző képet kaphatunk.

Ha a honlapodra is fel akarod rakni, vagy bármilyen html szövegbe, akkor azt is megteszi neked:

jp2a --size=50x30 --html ./Linux_logo.jpg –output=Linux_logo.html

Az utolsó, bár nem meglepő megoldás, ha nem jpg a fájl, akkor átkonvertáljuk, röptében, azaz csővezetékkel:

convert teszt.png jpg:- | jp2a -

Ha nem megy, mert azt mondja, hogy nincs olyan parancs, hogy convert, akkor az ImageMagick csomagot tedd fel. Bár a legtöbb Linux telepítés ezt alapból tartalmazza, csak a nagyon minimál telepítések nem.

Egyszerű keretet is kaphat a képed:

jp2a --border --size=50x3 ./Linux_logo.jpg

Man és help egyéb lehetőségeket is ad, de ezekkel már jól elboldogulunk 🙂

A tesztelést Arch Linux alapon végeztem, 2020-ban.

Itt jegyzem meg, hogy ha bármelyik cikkemmel, videómmal kapcsolatban építő jellegű gondolatod van, azt oszd meg velem. Vagy a linuxvideok/ide tudod mi jön/protonmail/ide is/com címre, vagy a https://discord.gg/7DdbM9g discord csatornán elérsz.A cikket egy ostechnix cikk inspirálta!

Related Posts