jp2a(1)
| jp2a(1) | ПОЛЬЗОВАТЕЛЬСКИЕ КОМАНДЫ | jp2a(1) |
НАЗВАНИЕ
jp2a - утилита для конвертации изображений JPEG и PNG в ASCII art
СИНТАКСИС
jp2a [ опции ] [ файл(ы) | URL(ы) ]
ОПИСАНИЕ
jp2a jp2a - небольшая утилита командной строки для конвертирования изображений в форматах JPEG и PNG в текcтовый вид ASCII art.
ПАРАМЕТРЫ
- -
- Читать изображения в форматах JPEG или PNG со стандартного ввода
- --background=light --background=dark
- Вместо постоянного задания --invert, используйте этот параметр. Для терминала с белыми символами на чёрном фоне, используйте --background=dark, и наоборот.
- -b --border
- Нарисовать рамку вокруг создаваемого изображения
- --chars=...
- Использовать указанный набор символов для создания выходного изображения ASCII. По умолчанию используется " ...',;:clodxkO0KXNWM". --colors Использовать палитру truecolor (или ANSI, если truecolor не поддерживается) для вывода цветной ASCII-картинки, и задавать цвет через CSS для вывода в HTML.
- -d --debug
- Выводить отладочную информацию при использовании libcurl для загрузки изображений из сети.
- -f --term-fit
- Использовать самый большой размер, который позволяет разместить изображение на дисплее терминала.
- --term-height
- Использовать высоту дисплея терминала и вычислять ширину на основе соотношения сторон изображения.
- --term-width
- Использовать ширину дисплея терминала и вычислять высоту на основе соотношения сторон изображения.
- -z --term-zoom
- Использовать ширину и высоту дисплея терминала.
- --fill
- При
использовании
с --html и --color,
задавать
цвет фона
каждого
выходного
символа.
Например,
для
получения
HTML-картинки
с заливкой
светлом
фоном,
используйте
jp2a --color --html --html-fill --background=dark somefile.jpg --output=dark.html
Сделать то же самое на светлом фоне:
jp2a --color --html --html-fill --background=light somefile.jpg --output=light.html
По умолчанию заливка фона не используется.
- -x --flipx
- Перевернуть выходное изображение по горизонтали
- -y --flipy
- Перевернуть выходное изображение по вертикали
- --height=N
- Установить выходную высоту. Если указано только --height, то ширина вывода будет рассчитываться в соответствии с соотношение сторон исходных изображений.
- -h --help
- Отображение короткого текста справки
- --grayscale
- Вывод изображения в оттенках серого при использовании --html или --colors.
- --html
- Вывести ASCII-картинку в формате XHTML 1.0. (Будет выводить в HTML для версий 2.0.0 и выше.)
- --htmlls
- Вывести ASCII-картинку в формате HTML (Living Standard), подходящем для просмотре в веб-браузерах. Это полезно для больших разрешений картинок и для проверки результата в браузере с установленным малым размером шрифте.
- --xhtml
- Вывести ASCII-картинку в формате XHTML 1.0.
- --html-fill
- То же, что и --fill. Лучше использовать --fill вместо этой опции.
- --html-no-bold
- Не использовать полужирный текст для вывода HTML.
- --html-raw
- Вывести в HTML-кодах только изображение, без остальных частей веб-страницы, чтобы можно было встроить результат в готовую страницу. (jp2a будет использовать тег <br> для версий 2.0.0 и выше вместо <br/>.)
- --html-fontsize=N
- Задать размер шрифта при использовании --html . Значение по умолчанию 4.
- --html-title=...
- Задать заголовок страницы HTML.
- --output=...
- Записать получившуюся ASCII-картинку в указанный файл. Чтобы явно указать стандартный вывод, используйте --output=-.
- -i --invert
- Инвертировать выходное изображение. При просмотре изображения с белым фоном на дисплее со светлыми символами на тёмном фоне, попробуйте инвертировать изображение.
- --red=...
- --green=...
- --blue=...
- При преобразовании RGB в оттенки серого использовать указанные значения для расчёта яркости. Значения по умолчанию - красный=0.2989, зелёный=0.5866 и синий=0.1145.
- --size=WIDTHxHEIGHT
- Задать выходной размер.
- -v --verbose
- Вывод расширенной информации в поток ошибок правку при чтении каждого изображения JPEG.
- --width=N
- Установить ширину вывода. Если указать только ширину, высота будет рассчитана автоматически.
- -V --version
- Показать версию программы.
- --zoom
- Устанавливает выходные размеры для всего окна терминала, независимо от соотношения сторон исходного изображения.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
jp2a возвращает 1 при возникновении ошибок, ноль - без ошибок.
ПРИМЕРЫ
Преобразовать и вывести на экран imagefile.jpg, используя символы ASCII в 40 колонок и 20 строк:
jp2a --size=40x20 imagefile.jpg
Скачать изображение из сети, конвертировать и вывести:
jp2a http://www.google.com/intl/en/logos/easter_logo.jpg
Вывести picture.jpg и picture2.jpg, каждый размером 80x25 символов, используя символы " ...ooxx@@" для вывода:
jp2a --size=80x25 --chars=" ...ooxx@@" picture.jpg picture2.jpg
Вывести image.jpg, шириной 76 колонок, высота автоматически рассчитывается из соотношения сторон image.jpg
cat image.jpg | jp2a --width=76 -
При использовании jp2a вместе с утилитой convert(1) пакета ImageMagick можно объединить команды в конвейер и поручить ImageMagick выполнять все виды преобразований изображений и эффектов на исходном изображении. Например:
convert somefile.png jpg:- | jp2a - --width=80
Для полного набора возможных преобразований посмотрите опции convert(1). Convert может обрабатывать практически любой формат изображения, так что с этой комбинацией можно конвертировать, например, документы PDF или файлы AVI в ASCII.
Хотя стандартная сборка jp2a включает автоматическую загрузку заданных адресами URL файлов, можно загрузить их, используя внешние утилиты curl(1) или wget(1). Например:
curl -s http://foo.bar/image.jpg | convert - jpg:- | jp2a -
ЗАГРУЗКА ИЗОБРАЖЕНИЙ ИЗ СЕТИ
Если jp2a собран вместе с libcurl(3), можно загрузить изображения, указав URL:
jp2a https://user:pass@foo.com/bar.jpg
Распознаются следующие протоколы: ftp, ftps, file, http, https и tftp.
Для получения большего контроля над загрузкой, можно использовать curl(1) или wget(1) и указать jp2a читать изображение со стандартного ввода.
jp2a использует pipe() и fork() для загрузки изображений с использованием libcurl (т.е. без вызовов exec() или system()) и поэтому не беспокоится о злонамеренно отформатированных URL-адресах.
ПРЕОБРАЗОВАНИЕ ОТТЕНКОВ СЕРОГО
Для создания изображения на основное только канала красного цвета, можно выполнить команду вида:
jp2a somefile.jpg --red=1.0 --green=0.0 --blue=0.0
При этом яркость выходного изображения будет рассчитана как Y = R*1.0 + G*0.0 + B*0.0. По умолчанию используется Y = R*0.2989 + G*0.5866 + B*0.1145.
СТРАНИЦА ПРОЕКТА
Последняя версия jp2a и новости всегда доступны на https://github.com/Talinx/jp2a.
СМОТРИТЕ ТАКЖЕ
cjpeg(1), djpeg(1), jpegtran(1), convert(1)
БАГИ
jp2a не выполняет интерполяцию при изменении размера. Если желательно улучшить качество картинки, можно попробовать использовать convert(1) и преобразовать исходное изображение в точные выходные размеры перед вызовом jp2a.
Другая проблема заключается в том, что jp2a пропускает несколько X-пикселей вдоль каждой линии сканирования. Это даёт менее точное выходное изображение, и, вероятно, будет исправлено в следующих версиях
АВТОРЫ
Christian Stigen Larsen and Christoph Raitzig
jp2a использует jpeglib для чтения файлов JPEG. jpeglib разрабатывается независимой JPEG группой (IJG), домашняя страница проекта http://www.ijg.org
jp2a использует libpng для чтения файлов PNG. Домашняя страница libpng - http://libpng.org/pub/png/libpng.html
ЛИЦЕНЗИЯ
jp2a распространяется под лицензией GNU General Public License v2.
| September 13, 2020 | version 1.1.0 |
