Труба STDOUT для изображения?

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

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

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

2 ответа

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

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

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

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

  • convert от ImageMagick/GraphicsMagick
  • pbmtext из NetPBM, рендеринг в Portable Bitmap
  • paps, рендерит в Postscript с помощью Pango
  • enscript, делает для Postscript

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

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

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

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

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

Другие вопросы по тегам