Panduan ini mengajarkan cara mengonversi gambar ke format ASCII di Linux. Untuk tujuan tugas ini, kita akan menggunakan Jp2a . Jp2a adalah alat baris perintah yang membantu Anda mengubah gambar yang diberikan ke dalam format karakter ascii. Anda dapat menentukan campuran file gambar dan URL dan alat Jp2a akan mengubah semuanya menjadi karakter ascii secara instan. Jp2a memiliki banyak opsi yang berguna untuk memanipulasi gambar. Berikut adalah beberapa hal yang dapat dilakukan Jp2a untuk Anda!
- membaca gambar dari input standar,
- setel mode latar belakang sebagai terang atau gelap,
- setel batas,
- mengatur tinggi dan lebar keluaran,
- menetapkan dimensi khusus untuk gambar keluaran,
- membalik gambar keluaran secara vertikal atau horizontal,
- gunakan karakter tertentu saat menghasilkan gambar ASCII keluaran,
- membalikkan gambar,
- unduh gambar dari web dan konversikan,
- Dan banyak lagi.
Instal Jp2a di Linux
Jp2a dikemas untuk banyak distribusi Linux dan tersedia di repositori default.
Untuk menginstal Jp2a di Arch Linux dan variannya seperti Manjaro Linux, jalankan:
$ sudo pacman -S jp2a
Di Debian, Ubuntu, Linux mint:
$ sudo apt install jp2a
Di Fedora:
$ sudo dnf install jp2a
Di CentOS / RHEL:
$ sudo yum install epel-release
$ sudo yum install jp2a
Di openSUSE:
$ sudo zypper install jp2a
Mengonversi Gambar Menjadi Format ASCII Di Linux
Untuk mengonversi gambar JPG/JPEG yang diberikan ke format karakter ASCII, cukup jalankan:
jp2a <path-to-image>
Contoh:
$ jp2a arch.jpg
Contoh keluaran:
MWXMWXWWXWWXWWXWWXWMXWMXNMNNMNNMNNMNNMNXWNXMWXWWXWWXWWXWMXWMXNMXNMNNMNNMNNMNXMNXMW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWdxWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNkccxWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNW0ccccOWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWKlccccc0WNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNXlccccccl0WWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNocccccccclXWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNdccccccccccoXWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNkccccccccccccoXWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNkccccccccccccccdNWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNkccccccccccccccccdNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWXxccccccccccccccccdXWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNNWNOoOXNklccccccccccccccdNWNWWNWWNWWNNWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNOccccok0kdcccccccccccccoXWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNWWNNOcccccccccodoccccccccccccoXWWNWWNWWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNkccccccccccccccccccccccccccoNWNWWNWWNWWNNWNNWNNWNNWWNWW NWWNWWNNWNNWNNWNNWWNWWNWWNkccccccccccccccccccccccccccccoXWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNkccccccccccccccccccccccccccccccoKWWNWWNNWNNWNNWNNWNNWWNWW WWNWWNWWNWWNWWNWWNWWNWWNxcccccccccccccccccccccccccccccccclXWNNWNNWNNWNNWNNWNNWNNWW NWWNNWNNWNNWNNWNNWWNWWXdcccccccccccccccccccccccccccccccccclKWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNNdccccccccccccccccccccccccccccccccccccl0NWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWXoccccccccccccccccdx0Oxdlcccccccccccccccl0WNWWNNWNNWNNWNNWWNWW NWWNWWNNWNNWNNWNNWWKlcccccccccccccclkXWWNWWNNOlcccccccccccccccOWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNKlcccccccccccccclKNWWNWWNWWNXocccccccccccccccONWNNWNNWNNWNNWWNWW WWNWWNWWNWWNWWNWW0lcccccccccccccclXNNWNNWWNWWNWNoccccccccccccccckWNNWNNWNNWNNWNNWW NWWNNWNNWNNWNNWNkccccccccccccccccONWWNWWNWWNNWNNXccccccccccccccccdNWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNkcccccccccccccccclNWNNWWNWWNWWNWWNdcccccccccloolcccdNWNNWNNWNNWWNWW WWNWWNWWNWWNWWxcccccccccccccccccoNWNNWWNWWNWWNWWNkcccccccccccoxO0OddNNNWNNWNNWNNWW NWWNNWNNWNNWXdccccccccccccccccccoWNWWNWWNWWNNWNNWkcccccccccccccclxKNXWWNWWNWWNWWNN WWNWWNWWNWWXoccccccccccccccccccccXWNNWWNWWNWWNWWNdcccccccccccccccccoOXNWNNWNNWWNWW WWNWWNWWNWXocccccccccccccccldxk00XWNNWNNWWNWWNWWNK0kxdlcccccccccccccccxKNNWNNWNNWW NWWNNWNNWKlccccccccccldxO0NWNWWNWWNWWNWWNWWNNWNNWNNWNNWXK0xdlccccccccccl0WNWWMMMMM WWNWWNWWOccccccccoxOXNWNWWNWWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNKOxoccccccccOWNWMMMMM WWNWWNWOcccccox0NNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNN0xoccccckNNMMMMM NWWNNWkccok0XNWNNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNN0xocckWNWWNW WWNWNxdOXWWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNXOxxNNNWW NWWNXNNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWNXWWNN
Sederhana, bukan?
Anda dapat menentukan beberapa gambar dan mengonversi semuanya sekaligus.
$ jp2a img1.jpg img2.jpg
Perintah ini mengubah gambar yang diberikan menjadi ASCII dan akan menampilkannya satu demi satu.
Seperti yang sudah saya katakan, Jp2a memiliki banyak opsi dan flag untuk memanipulasi gambar input. Mari kita lihat penggunaan beberapa opsi dengan contoh.
Baca gambar dari input standar
Untuk membaca gambar dari input standar dan mencetak karakter ASCII dalam output standar, gunakan pipa perintah seperti di bawah ini.
$ cat arch.jpg | jp2a -
Perhatikan simbol tanda hubung (-) di akhir.
Menulis output ke file
Alih-alih menampilkan gambar ASCII dalam output standar, Anda dapat menulisnya ke file seperti yang ditunjukkan di bawah ini.
$ jp2a arch.jpg --output=arch_ascii
Perintah ini akan menambahkan output ASCII dalam file teks bernama arch_ascii . Anda dapat melihat konten file menggunakan perintah "cat":
$ cat arch_ascii
Mencetak gambar dengan tinggi/lebar tertentu
Anda dapat mengonversi gambar ke format ASCII dan mencetaknya dengan tinggi atau lebar tertentu pilihan Anda.
Untuk mencetak menggunakan ketinggian tertentu, misalnya 30 baris, cukup lakukan:
$ jp2a --height=30 arch.jpg
Lebar akan dihitung secara otomatis dari rasio aspek gambar.
Demikian pula, untuk menentukan lebar, jalankan:
$ jp2a --weight=30 arch.jpg
Anda juga dapat menggabungkan kedua opsi dan mencetak gambar.
$ jp2a --height=20 --width=40 arch.jpg
Mencetak gambar dalam format ASCII dalam kolom X dan baris Y
Perintah berikut mengonversi file gambar yang diberikan menjadi ASCII dan mencetak output dalam 50 kolom dan 30 baris.
$ jp2a --size=50x30 arch.jpg
Contoh keluaran:
Setel batas ke karakter ASCII
Jika Anda ingin menyetel batas di sekitar keluaran ASCII, gunakan batas pilihan seperti di bawah ini:
$ jp2a --border --size=50x30 arch.jpg
Contoh keluaran:
Mencetak gambar dalam latar terang/gelap
Jp2a memiliki opsi untuk mencetak karakter ASCII dalam latar belakang terang dan gelap.
$ jp2a --background=light arch.jpg
$ jp2a --background=dark arch.jpg
Mencetak gambar ke dalam format ASCII dengan latar belakang gelap
Jika Anda melihat gambar dengan latar belakang putih, tetapi Anda menggunakan tampilan dengan karakter terang di latar belakang gelap, Anda harus membalikkan gambar menggunakan balik bendera.
$ jp2a arch.jpg --invert
Contoh keluaran:
. . . . . . . . . . . . . . . . . . . :; ,oo; .oooo' .looooo. .looooool. cooooooool. :ooooooooooc. ,ooooooooooooc. ,oooooooooooooo: ,oooooooooooooooo: .;oooooooooooooooo:. 'c'. ,loooooooooooooo: 'ooooc,.,:oooooooooooooc. 'oooooooooc:cooooooooooooc. ,ooooooooooooooooooooooooooc ,ooooooooooooooooooooooooooooc. ,ooooooooooooooooooooooooooooooc. ;ooooooooooooooooooooooooooooooool. .:ooooooooooooooooooooooooooooooooool. :ooooooooooooooooooooooooooooooooooool. .coooooooooooooooo:;.';:loooooooooooooool. .looooooooooooool,. 'looooooooooooooo' .looooooooooooool. .cooooooooooooooo' .looooooooooooool. cooooooooooooooo, ,oooooooooooooooo' .oooooooooooooooo: ,ooooooooooooooool :ooooooooolcclooo: ;oooooooooooooooooc ,oooooooooooc;'.':: .:ooooooooooooooooooc ,ooooooooooooool;. . .coooooooooooooooooooo. :oooooooooooooooooc'. .coooooooooooooool:;,... ..,;:looooooooooooooo;. .looooooooool:;'. ...;:looooooooool. 'ooooooooc;'. .';coooooooo' 'oooooc;. .;cooooo, ,ooc,.. .;coo, ;:'. .';; . .
Mencetak gambar dengan karakter tertentu saja
Alih-alih mencetak gambar dalam karakter default, Anda dapat menggunakan beberapa karakter khusus pilihan Anda.
$ jp2a --size=50x30 --chars=" [email protected]@" arch.jpg
Unduh gambar langsung dari Internet
Tidak hanya gambar lokal, Anda dapat langsung mengunduh gambar dari Internet dan mengubahnya menjadi ASCII.
Untuk mengunduh gambar langsung dari Internet dan mencetaknya dalam format ASCII, jalankan:
$ jp2a --size=50x30 https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg
Atau, gunakan curl atau wget program untuk mengunduh gambar dan jp2a akan membaca gambar dari input standar seperti di bawah ini.
$ curl -s https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg | jp2a -
Mengonversi gambar selain JPG/JPEG
Bagaimana jika Anda memiliki jenis gambar yang berbeda selain JPG/JPEG? Dalam hal ini, Anda dapat menggunakan Konversi ImageMagick alat seperti di bawah ini. ImageMagick tersedia di repositori default dari banyak distribusi Linux.
Di Arch Linux dan variannya seperti Manjaro Linux:
$ sudo pacman -S imagemagick
Di Debian, Ubuntu, Linux Mint:
$ sudo apt install imagemagick
Setelah menginstal ImageMagick, jalankan perintah berikut untuk mengonversi gambar berformat PNG yang diberikan ke format Jpeg/Jpg dan kemudian mengonversinya ke format ASCII:
$ convert arch.png jpg:- | jp2a -
Harap perhatikan simbol tanda hubung (-) di akhir.
Demikian pula, Anda dapat dengan mudah mengonversi format gambar apa pun menjadi JPEG/JPG dan kemudian mengonversinya lagi ke format ASCII.
Menghasilkan keluaran HTML yang ketat
Jp2a memiliki opsi untuk menghasilkan keluaran XHTML 1.0 yang ketat.
$ jp2a --size=50x30 --html arch.jpg --output=arch.html
Contoh keluaran:
<?xml version='1.0' encoding='ISO-8859-1'?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' lang='en' xml:lang='en'> <head> <title>jp2a converted image</title> <style type='text/css'> body { background-color: black; } .ascii { font-family: Courier; color: white; font-size:8pt; font-weight: bold; } </style> </head> <body> <div class='ascii'><pre> MNWNWNWWNWNWNMXMNWNWNWWNNXWNWXMXWNWNWNNWNWNWXMXWNW NWNWNWWWWNWNWNWNWNWNWWWWkkNWNWNWNWNWWWWWWNWNWNWNWN NWNWNWWWWWWNWNWNWNWNWWWKccKWNWNWNWNWWWWWWNWNWNWNWN NWNWNWWWWWWNWNWNWNWNWWNoccoNNWNWNWNWWWWWWNWNWNWNWN WNWNWWWWWWNWNWNWNWNWWWOcccckWNWNWNWNWWWWNWNWNWNWNW WNWNWWWWNWNWNWNWNWNWWXlcccccKNWNWNWNWWWWNWNWNWNWNW WNWWWWWWWWNWNWNWNWWWNdcccccclNWNWNWWWWWWWWNWNWNWNW NWNWNWWWWNWNWNWNWNWNOccccccccxNWNWNWWWWWWNWNWNWNWN NWNWNWWWWWWNWNWNWNWXlccccccccc0WNWNWWWWWWNWNWNWNWN WWWWWWWWWWWWWWWWWWNNkccccccccclXWWWWWWWWWWWWWWWWWW WNWNWWWWNWNWNWNWNWxlkKdccccccccoNNWNWWWWNWNWNWNWNW WNWNWWWWWWNWNWNWNOccccddocccccccxNWNWWWWNWNWNWNWNW WWWWWWWWWWWWWWWWKccccccccccccccccOWWWWWWWWWWWWWWWW NWNWNWWWWNWNWNWXlcccccccccccccccccKWWWWWWNWNWNWNWN NWNWNWWWWNWNWNNdcccccccccccccccccclXNWWWWNWNWNWNWN WWWWWWWWWWWWWWxccccccccccccccccccccdNWWWWWWWWWWWWW WNWNWWWWWWNWNOccccccccccccccccccccccxNWWNWNWNWNWNW WNWNWWWWWWNWKccccccccclx0OklcccccccccOWWNWNWNWNWNW WWWWWWWWWWWXlccccccccoXWWWWXdccccccccc0WWWWWWWWWWW NWNWNWWWWNNocccccccclNWWNWNWNocccccccclXWNWNWNWNWN NWNWNWWWWNdcccccccccOWWWNWNWNKcccccccccoNNWNWNWNWN WWWWWWWWNxccccccccccXWWWWWWWWNlcccccldlcoNWWWWWWWW WNWNWWWWOcccccccccccNWWWWNWNWNocccccccx0O0NWNWNWNW WNWNWWW0ccccccccccccXWWWWNWNWNlcccccccccdKNWNWNWNW NWNWNWKlcccccccccodkXWWWNWNWNNkdocccccccccdKWNWNWN NWNWNXlccccccdk0NNWNWWWWNWNWNWNWNN0kdcccccclXNWMMM NWNWNoccclx0NNWNWNWNWWWWNWNWNWNWNWNWWN0xlccclXWMMM WNWNdclkKNNWNWNWNWNWWWWWWNWNWNWNWNWWWWWWNKklcdNWMW WNWkxKNWWWNWNWNWNWNWWWWWWNWNWNWNWNWNWWWWNWNWKxkWNW NWXNNWWNWNWNWNWNWNWNWWNWNWNWNWNWNWNWNWWNWNWNWNNNWN </pre> </div> </body> </html>