Создаем псевдографические баннеры через ASCII

Posted by

Конвертированное изображение слова посредством ASCII графикиКто из Вас после прочтения ранних журналов на компьютерную тематику, как российских, так из многих зарубежных натыкаясь на изображение псевдографического характера и тотчас сделать себе такое, может даже похвастаться перед несведущими, хотя так уже точно не стоит делать, но все же. Такое изображение состояло из комбинирования специальных символов, таких как: ?,#$/\ да и многих других. Как мне помнится я сам пытался под Windows в блокноте нарисовать что-то такое, чтобы радость от того, что это я сделал сам и оно хоть и имеет отдаленный вариант что было в журналах, но моё. Я посредством google искал программы которые с генерируют мне данное изображение/текст на основе исходного слова, но все было не то, да и платно преимущественно. Не отрицаю, что может в то время я плохо искал, но результат был на лицо. Со временем свою затею создания текстового баннера на основе специальных символов я отложил на не определенный срок, и вот это время настало. В данной заметке я расскажу и покажу, как создавать текстовые баннеры в моей любимой системе .5 Server amd64 задействовав мощь консоли:

Итак, посредством репозитариев системы находим такую утилиту, как — , что же подразумевает данное слово, а слово состоящее из букв одной фразы: Frant, Ian & Glenn’s Letters

ekzorchik@srv-serv:~$ apt-cache search figlet

figlet — Frank, Ian & Glenn’s Letters

Что же может данная утилита?, а может она считать поток ввода или принимать сообщения как часть из командной строки.

Ниже покажу на примере, но сперва установлю ее в систему, в этой процедуре нет ничего сложного:

ekzorchik@srv-serv:~$ sudo apt-get install figlet -y

отобразим название моего блога посредством ASCII графики:

ekzorchik@srv-serv:~$ figlet ekzorchik

Конвертированное изображение слова посредством ASCII графики

 

 

 

ну как Вам оно, здорово правда, я не мог не нарадоваться тому, что наконец таки вернулся к своей затеи создавать ASCII изображения.

Еще одна приятная особенность — это подгруздка файла содержащего текст:

ekzorchik@srv-serv:~$ cat >> file << EOF

> ekzorchik.ru

> EOF

ekzorchik@srv-serv:~$ figlet -p < file

_ _ _ _

___| | __ _______ _ __ ___| |__ (_) | __ _ __ _ _

/ _ \ |/ /|_ / _ \| ‘__/ __| ‘_ \| | |/ / | ‘__| | | |

| __/ < / / (_) | | | (__| | | | | < _| | | |_| |

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

Некоторые аргументы запуска:

  • -f для выбора файла шрифта. (файлы шрифтов имеют расширение: flf, список доступных шрифтов:

ekzorchik@srv-serv:~$ sudo find / -type f -name *.flf

/usr/share/figlet/mini.flf

/usr/share/figlet/standard.flf

/usr/share/figlet/smslant.flf

/usr/share/figlet/smscript.flf

/usr/share/figlet/digital.flf

/usr/share/figlet/slant.flf

/usr/share/figlet/term.flf

/usr/share/figlet/block.flf

/usr/share/figlet/small.flf

/usr/share/figlet/shadow.flf

/usr/share/figlet/smshadow.flf

/usr/share/figlet/big.flf

/usr/share/figlet/mnemonic.flf

/usr/share/figlet/bubble.flf

/usr/share/figlet/script.flf

/usr/share/figlet/banner.flf

/usr/share/figlet/lean.flf

/usr/share/figlet/ivrit.flf

можете потренироваться со всеми из них поочередно, чтобы оценить, какой же шрифт Вам больше нравиться:

  • -d для смены директории с шрифтами.
  • -c расположить вывод по центру.
  • -l расположить вывод слева.

ekzorchik@srv-serv:~$ figlet -f digital -l -p < file

+-+-+-+-+-+-+-+-+-+-+-+-+

|e|k|z|o|r|c|h|i|k|.|r|u|

+-+-+-+-+-+-+-+-+-+-+-+-+

  • -r расположить вывод справа.

ekzorchik@srv-serv:~$ figlet -f digital -r -p < file

+-+-+-+-+-+-+-+-+-+-+-+-+

|e|k|z|o|r|c|h|i|k|.|r|u|

+-+-+-+-+-+-+-+-+-+-+-+-+

  • -t установить ширину вывода по ширине терминала.
  • -w определить ширину вручную.

ekzorchik@srv-serv:~$ figlet -f digital -l -w 15 -p < file

+-+-+-+-+-+-+

|e|k|z|o|r|c|

+-+-+-+-+-+-+

+-+-+-+-+-+-+

|h|i|k|.|r|u|

+-+-+-+-+-+-+

  • -k включить кернинг, печатать каждого символа отдельно, вместо объединения соседних букв.

ekzorchik@srv-serv:~$ figlet -f digital -l -k -p < file

+-++-++-++-++-++-++-++-++-++-++-++-+

|e||k||z||o||r||c||h||i||k||.||r||u|

+-++-++-++-++-++-++-++-++-++-++-++-+

Если все таки Вам не достаточно, тех flf файлов, но можно подгрузить дополнительные, я бы их назвал, как эффекты начертания:

Для этого есть сайт посвященный данной утилите figlet, на нем представлено все то многообразие различных шрифтов, кое должно удовлетворить даже самых притязательных:

http://www.figlet.org/fontdb.cgi

ekzorchik@srv-serv:~$ wget -c http://www.figlet.org/fonts/stellar.flf

ekzorchik@srv-serv:~$ wget -c http://www.figlet.org/fonts/block.flf

ekzorchik@srv-serv:~$ figlet -f block.flf "ALEX" -k

Пример различного оформления ASCII текста на основе шаблонов

 

 

 

 

Довольно необычно ведь.

Можно и комбинируя передавать команды утилите figlet: (отобразим текущее время)

ekzorchik@srv-serv:~$ date +%r | figlet -f digital

+-+-+-+-+-+-+-+-+ +-+-+

|0|1|:|2|3|:|0|6| |A|M|

+-+-+-+-+-+-+-+-+ +-+-+

Вот еще один пример, автоматического обновления текущего времени в консоли с использованием выше преведенной команды:

ekzorchik@srv-serv:~$ watch --interval 1 " date +%r | figlet -f digital "

Вот собственно и все, не забывайте, что все задумки реализуемы, а имея такой конструктор, как Ubuntu система все можно воплотить в реальность. В последующих заметках я буду Вас знакомить с моими задумками, которые я реализовал. С уважением, автор блога — ekzorchik.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

четырнадцать + шестнадцать =