ASCII "графическая" библиотека?

Есть ли независимая от платформы библиотека C/С++, которая может рисовать простую "графику" в чистом ASCII в консольной программе? Например (ОЧЕНЬ грубо), я мог бы вызвать функцию в библиотеке, например rectangle(3, 6);, чтобы получить следующий вывод:

******
*    *
******

В конечном счете, я хотел бы иметь возможность строить простые графики на основе таблиц входных данных, таких как:

|
|*
|
|  *
|     *
|         *
|                *
|                           *
+---------------------------------

И кто-нибудь знает, есть ли способ специально отобразить графики данных/графики в ASCII или UTF8?

Ответы

Ответ 1

Из того, что вы сказали, вам не нужна графическая библиотека ASCII, поскольку они предназначены для рендеринга растрового изображения в символы ASCII, поэтому внешний вид данных ASCII станет "похожим" на растровое изображение. Для задачи, о которой вы упомянули, рассмотрите возможность написания собственной библиотеки, потому что:

  • Ваша задача не представляет собой рендеринг растровых изображений
  • Это не так сложно

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

Ответ 2

Я не знаю, действительно ли это именно то, что вы ищете, но эта библиотека будет отображать изображения и viedos на консоли.

http://aa-project.sourceforge.net/aalib/

Ответ 3

В дополнение к aalib также есть libcaca (этот будет отображаться в полном цвете)

Ответ 4

Я полагаю, вы можете использовать curses (и производные, такие как ncurses).