Settexts
settextstyle
Функция Устанавливает текущие характеристики текста для графического вывода.
Синтаксис #include
void far settextstyle(int font,int direction, int charsize);
Файл, содержащий graphics.h прототип
Описание settextstyle устанавливает шрифт текста, направление отображения текста и размер символов. Вызов settextstyle действует для любых текстов, выводимых с помощью outtext и outtextxy.
Параметры font, direction и charsize, передавае- мые в settextstyle, описаны следующим образом:
font: допустимы: один шрифт с матрицей 8х8 бит и несколько "стилизованных" шрифтов. По умолчанию используется шрифт с матрицей 8х8 битов. Перечис- ленные font_names, определенные в graphics.h, оп- ределяют названия различных шрифтов( смотри таб- лицу): ------------------------------------------- Имя Знач. Описание ------------------------------------------- DEFAULT_FONT 0 шрифт 8х8 бит TRIPLEX_FONT 1 утроенный шрифт SMALL_FONT 2 малый шрифт SANSSERIF_FONT 3 шрифт sans-serif GOTHIC_FONT 4 готический шрифт -------------------------------------------
Битовый шрифт, используемый по умолчанию, встроен в графическую систему. Стилизованные шрифты хра- няться в дисковых файлах *.CHR и по одному могут храниться в памяти. Поэтому при выборе шрифта, отличного от загруженного в систему, необходимо загрузить соответствующий *.CHR-файл с диска. Для избежания этих загрузок при использовании нес- кольких шрифтов вы можете поместить шрифтовые файлы в вашу программу при компановки. Это осу- ществляется путем преобразования их в объектные файлы с помощью утилиты BGIOBJ и регистрации их через register- bgifont, как описано в файле UTIL.DOC, поставляемом вместе с Turbo C++. direction: поддерживается два направления - гори- зонтальный текст( слева направо) и вертикальный текст (повернут на 90 градусов против часовой стрелки). По умолчанию наравление равно HORIZ_DIR. ------------------------------------------- Имя Знач. Описание ------------------------------------------- HORIZ_DIR 0 слева направо VERT_DIR 1 снизу вверх ------------------------------------------- charsize: размер каждого символа может быть уве- личен фактором charsize. Значение charsize равное 0 используется только со стилизованными шрифтами, а ненулевое значение charsize можно использовать и с основным битовым шрифтом.
1) Если charsize равен 1, outtext и outtextxy будут отображать шрифтовую матрицу 8х8 бит в прямоугольник 8х8 пикселов на экра- не.
2) Если charsize равен 2, эта функция отоб- разит матрицу 8х8 бит в прямоугольник 16х16 пикселов на экране, и т.д.( до ограничения в 10 раз больше от нормального размера).
3) Когда charsize равен 0, функции вывода outtext и outtextxy увеличивают шрифт текста используя либо фактор увеличения символов(4) по умолчанию, либо размер шрифта определенный пользователем, используя setusercharsize.
Используйте также textheight и textwidth для оп- ределения размера шрифта.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
/* имена поддерживаемых шрифтов */ char *font[] = {"DEFAULT_FONT", "TRIPLEX_FONT", "SMALL_FONT", "SANS_SERIF_FONT", "GOTHIC_FONT" };
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int style,midx,midy; int size=1;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; settextjustify(CENTER_TEXT,CENTER_TEXT); /* цикл по шрифтам */ for(style=DEFAULT_FONT;style