1

Недавно я хотел запустить команду терминала, такую как «git show <hash>», и сохранить вывод в изображение, предпочтительно PNG.

Я немного погуглил и нашел несколько хитрых уловок, особенно с командой import, но ничего, что могло бы надежно захватить STDOUT и сохранить его как изображение.

Итак, я подумал, что попрошу мозг довериться здесь. У кого-нибудь есть проверенное и проверенное решение для Linux?

2 ответа2

2

Как преобразовать текст в изображение уже ответили здесь: https://stackoverflow.com/questions/3826379/image-magick-converting-text-to-image-is-there-a-way-to-center-the -text-to-t Этот ответ предоставляет различные варианты того, как это сделать с помощью инструментов ImageMagick.

Обратите внимание: это будет работать надежно только в том случае, если вывод вашей команды - простой текст.
Если есть какое-либо необычное форматирование (например, ncurses), результаты могут быть совершенно непредсказуемыми.

0

Частичный ответ, перечисляя некоторые возможности:

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

  • convert из ImageMagick/GraphicsMagick
  • pbmtext из NetPBM, отображает в Portable Bitmap
  • paps , рендерится в Postscript, используя Pango
  • enscript , выводит в Postscript

Но преобразование другого формата в PNG не должно быть проблемой.

Из них только enscript поддерживает цвета через «специальные escape-коды ». Это не то же самое, что экранирование терминала, поэтому вы должны конвертировать их с помощью awk/perl и т.д.

Другой вариант - сделать все это в xterm и на скриншоте.

Как видите, все они довольно сложны, по желанию требуются нетривиальные усилия, чтобы заставить их работать. Что неудивительно, потому что в основном вы хотите воспроизвести всю часть рендеринга вашего терминала.

Может быть проще просто сохранить сам вывод и извлечь его в терминале, когда вы захотите посмотреть на него.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .