5.8 Вывод текста

Функции для вывода текста позволяют вывести строку текста в произвольном месте рисунка, в произвольном направлении и вдоль произвольной кривой. MathGL позволяет использовать произвольное начертание шрифта и многие ТеХ-ие команды (детальнее см. Стиль текста). Все функции вывода текста имеют варианты для 8-bit строк (char *) и для Unicode строк (wchar_t *). В первом случае используется конверсия из текущей локали, т.е. иногда вам требуется явно указать локаль с помощью функции setlocale(). Аргумент size определяет размер текста: размер шрифта если положителен или относительный размер (=-size*SetFontSize()) если отрицателен. Начертание шрифта (STIX, arial, courier, times и др.) можно изменить с помощью функции LoadFont(). See Шрифты.

Параметры шрифта задаются строкой, которая может содержать символы цвета ‘wkrgbcymhRGBCYMHW’ (см. Цвета). Также после символа ‘:’ можно указать символы стиля (‘rbiwou’) и/или выравнивания (‘LRCTV’). Стили шрифта: ‘r’ – прямой, ‘i’ – курсив, ‘b’ – жирный, ‘w’ – контурный, ‘o’ – надчеркнутый, ‘u’ – подчеркнутый. По умолчанию используется прямой шрифт. Типы выравнивания: ‘L’ – по левому краю (по умолчанию), ‘C’ – по центру, ‘R’ – по правому краю, ‘T’ – под текстом, ‘V’ – по центру вертикально. Например, строка ‘b:iC’ соответствует курсиву синего цвета с выравниванием по центру. Начиная с MathGL версии 2.3, вы можете задать цветовой градиент для выводимой строки (см. Цветовая схема).

Если строка содержит символы ‘aA’, то текст выводится в абсолютных координатах (полагаются в диапазоне [0,1]). При этом используются координаты относительно рисунка (если указано ‘A’) или относительно последнего subplot/inplot (если указано ‘a’). Если строка содержит символ ‘@’, то вокруг текста рисуется прямоугольник.

См. раздел Text features, для примеров кода и графика.

Команда MGL: text x y 'text' ['fnt'='' size=-1]
Команда MGL: text x y z 'text' ['fnt'='' size=-1]
Метод класса mglGraph: void Puts (mglPoint p, const char *text, const char *fnt=":C", mreal size=-1)
Метод класса mglGraph: void Putsw (mglPoint p, const wchar_t *text, const char *fnt=":C", mreal size=-1)
Метод класса mglGraph: void Puts (mreal x, mreal y, const char *text, const char *fnt=":AC", mreal size=-1)
Метод класса mglGraph: void Putsw (mreal x, mreal y, const wchar_t *text, const char *fnt=":AC", mreal size=-1)
Функция С: void mgl_puts (HMGL gr, mreal x, mreal y, mreal z, const char *text, const char *fnt, mreal size)
Функция С: void mgl_putsw (HMGL gr, mreal x, mreal y, mreal z, const wchar_t *text, const char *fnt, mreal size)

Выводит строку text от точки p шрифтом определяемым строкой fnt. Размер шрифта задается параметром size (по умолчанию -1).

Команда MGL: text x y dx dy 'text' ['fnt'=':L' size=-1]
Команда MGL: text x y z dx dy dz 'text' ['fnt'=':L' size=-1]
Метод класса mglGraph: void Puts (mglPoint p, mglPoint d, const char *text, const char *fnt=':L', mreal size=-1)
Метод класса mglGraph: void Putsw (mglPoint p, mglPoint d, const wchar_t *text, const char *fnt=':L', mreal size=-1)
Функция С: void mgl_puts_dir (HMGL gr, mreal x, mreal y, mreal z, mreal dx, mreal dy, mreal dz, const char *text, const char *fnt, mreal size)
Функция С: void mgl_putsw_dir (HMGL gr, mreal x, mreal y, mreal z, mreal dx, mreal dy, mreal dz, const wchar_t *text, const char *fnt, mreal size)

Выводит строку text от точки p вдоль направления d. Параметр fnt задает стиль текста и указывает выводить текст под линией (‘T’) или над ней (‘t’).

Команда MGL: fgets x y 'fname' [n=0 'fnt'='' size=-1.4]
Команда MGL: fgets x y z 'fname' [n=0 'fnt'='' size=-1.4]

Выводит n-ую строку файла fname от точки {x,y,z} шрифтом fnt и размером size. По умолчанию используются параметры заданные командой font.

Команда MGL: text ydat 'text' ['fnt'='']
Команда MGL: text xdat ydat 'text' ['fnt'='' size=-1 zval=nan]
Команда MGL: text xdat ydat zdat 'text' ['fnt'='' size=-1]
Метод класса mglGraph: void Text (const mglDataA &y, const char *text, const char *fnt="", const char *opt="")
Метод класса mglGraph: void Text (const mglDataA &y, const wchar_t *text, const char *fnt="", const char *opt="")
Метод класса mglGraph: void Text (const mglDataA &x, const mglDataA &y, const char *text, const char *fnt="", const char *opt="")
Метод класса mglGraph: void Text (const mglDataA &x, const mglDataA &y, const wchar_t *text, const char *fnt="", const char *opt="")
Метод класса mglGraph: void Text (const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *text, const char *fnt="", const char *opt="")
Метод класса mglGraph: void Text (const mglDataA &x, const mglDataA &y, const mglDataA &z, const wchar_t *text, const char *fnt="", const char *opt="")
Функция С: void mgl_text_y (HMGL gr, HCDT y, const char *text, const char *fnt, const char *opt)
Функция С: void mgl_textw_y (HMGL gr, HCDT y, const wchar_t *text, const char *fnt, const char *opt)
Функция С: void mgl_text_xy (HCDT x, HCDT y, const char *text, const char *fnt, const char *opt)
Функция С: void mgl_textw_xy (HCDT x, HCDT y, const wchar_t *text, const char *fnt, const char *opt)
Функция С: void mgl_text_xyz (HCDT x, HCDT y, HCDT z, const char *text, const char *fnt, const char *opt)
Функция С: void mgl_textw_xyz (HCDT x, HCDT y, HCDT z, const wchar_t *text, const char *fnt, const char *opt)

Выводит строку text вдоль кривой {x[i], y[i], z[i]} шрифтом fnt. Строка fnt может содержать символы: ‘t’ для вывода текста под кривой (по умолчанию), или ‘T’ для вывода текста под кривой. Размеры по 1-ой размерности должны быть одинаковы для всех массивов x.nx=y.nx=z.nx. Если массив x не указан, то используется "автоматический" массив со значениями в диапазоне осей координат (см. Масштаб осей координат). Если массив z не указан, то используется минимальное значение оси z. Строка opt содержит опции команды (см. Опции команд).