CodeKitHub
Русский
Инструменты для изображений

Конвертер изображений в ASCII-арт

Загрузите фотографию и получите в результате сетку из ASCII-символов, затененных в соответствии с яркостью исходного изображения — классический стиль «текстового искусства». Всё происходит на холсте в вашем браузере: изображение считывается локально и никуда не загружается.

Что это за инструмент?

Этот инструмент осуществляет отбор образцов изображения по сетке, измеряет яркость каждой ячейки и заменяет её символом из набора, который варьируется от «пустого» (пробел, точка) до «плотного» (@, #, сплошной блок). По умолчанию более светлые области сопоставляются с более плотными символами, а более тёмные — с более разреженными. Поскольку результат представляет собой светлый текст на тёмном фоне, именно это позволяет светлым участкам вашей фотографии выглядеть действительно светлыми, а тёмные участки сливаются с фоном.

Этот инструмент отличается от текстового генератора ASCII-арта на этом сайте, который преобразует введенные слова в крупные печатные буквы (баннер в стиле FIGlet). Данный инструмент работает в обратном направлении — в качестве исходных данных он принимает не введенный текст, а реальную фотографию или файл с изображением.

Зачем его использовать?

  • Превратите любую фотографию в ASCII-изображение в виде простого текста, которым можно поделиться, всего одним щелчком мыши.
  • Регулируемая ширина вывода и три набора символов (детальная градация оттенков серого, простая 7-символьная градация или затенение блоков Unicode) для создания различных визуальных эффектов.
  • Опция «Инвертировать» для вставки в контексты со светлым фоном.
  • 100 % конфиденциальность — обработка изображения происходит локально, ваша фотография никуда не загружается.
  • Бесплатно, без регистрации, без водяных знаков.

Как использовать

  1. Щелкните по области загрузки или перетащите туда изображение в формате JPG, PNG или WebP.
  2. Укажите ширину вывода (в символах) — чем больше число, тем детальнее, но и шире будет результат.
  3. Выберите набор символов: «Подробный» — для плавных градиентов, «Простой» или «Блоки» — для более выразительного вида.
  4. Включите параметр «Инвертировать», если собираетесь вставить результат на страницу со светлым фоном.
  5. Нажмите «Копировать», чтобы скопировать результат в виде простого текста.

Пример

Ввод

A photo of a single bright white circle on a black background, 100 characters wide

Результат

Mostly blank/space characters around the edges, with a dense cluster of @ and # characters forming the circle's silhouette in the middle

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

Практические советы

  • Контрастные фотографии (где объект четко выделяется на однотонном фоне) преобразуются гораздо лучше, чем перегруженные деталями сцены с низкой контрастностью.
  • Ширина в 100–150 символов — это оптимальный вариант для большинства случаев: достаточно широкая, чтобы отобразить все детали, и достаточно узкая, чтобы поместиться на обычном экране.
  • Если результат выглядит противоположно тому, что вы ожидали (объект выглядит как светлый силуэт вместо тёмного), установите флажок «Инвертировать», а не пытайтесь использовать другое изображение.
  • Набор символов «Blocks» часто читается лучше, чем «Detailed», при очень небольшой ширине вывода, поскольку несколько уровней затенения остаются более заметными, чем десятки тонких символов.

Чем это отличается от преобразования текста в ASCII-арт

Если вы хотите создать баннер из набранного текста (название проекта, слово), а не конвертировать фотографию, то генератор ASCII-арта на этом сайте как раз для этого и предназначен — он использует шрифты FIGlet для рисования печатных букв и вообще не обрабатывает изображения.

Эти два инструмента обычно используются вместе: баннер FIGlet в качестве заголовка, а под ним — изображение, преобразованное с помощью этого инструмента, в качестве визуального сопровождения; при этом оба элемента представляют собой обычный текст, который сохраняется при вставке в комментарий к коду или в файл README в формате простого текста.

Генератор ASCII-искусства · Программа для сжатия изображений

Часто задаваемые вопросы

Почему мои рисунки в формате ASCII выглядят сдавленными или растянутыми?

Ячейки с моноширинным шрифтом примерно в два раза выше, чем шире, поэтому при пиксельном преобразовании изображение будет сжато по вертикали. Данный инструмент уже учитывает этот фактор, отбирая меньшее количество строк, чем того требовала бы сетка с соотношением 1:1 — если изображение по-прежнему выглядит некорректно в месте вставки, возможно, в этом месте используется шрифт, не являющийся моноширинным.

Действительно ли выбор набора символов имеет значение?

Да. В режиме «Детальный» для плавных градиентов используются десятки символов, и он лучше всего читается на расстоянии или при увеличении масштаба. Режимы «Простой» (7 символов) и «Блоки» (блоки затенения в формате Unicode) создают более выразительный, графический вид с заметными переходами между уровнями яркости — они лучше подходят для стилизованного эффекта, чем для фотореалистичного.

Когда следует использовать функцию «Инвертировать»?

По умолчанию светлые области фотографии превращаются в плотные символы, а тёмные — в разреженные, что выглядит правильно в тёмном окне результатов этого инструмента (светлый текст на тёмном фоне). Если вы вставите результат в белый документ или приложение со светлой темой, включите функцию «Инвертировать», чтобы тёмные области изображения отображались в виде плотных символов (тёмные символы на светлом фоне), что обеспечит читаемость рисунка.

Какова идеальная ширина выходного сигнала?

100 символов — это оптимальное значение по умолчанию для просмотра в браузере или терминале без горизонтальной прокрутки. При значительном увеличении этого значения (200+) отображается больше деталей, но результат становится шире, чем большинство экранов, а при очень малой ширине (менее 40) теряется большая часть различимых деталей.

Моя фотография где-нибудь загружена?

Нет. Изображение декодируется и просчитывается с помощью API Canvas непосредственно в вашем браузере. Никакие данные ни в какой момент не отправляются на сервер.

Похожие инструменты