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