Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вариант_№21.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
324 Кб
Скачать
☆

Initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */

errorcode = graphresult();

if(errorcode != grOk) /* если ошибка */

{

printf("Ошибка :%s\n",grapherrormessage(errorcode));

printf("Для останова нажмите любую клавишу\n");

getch();

exit(1); /* завершение с кодом ошибки */

}

maxcolor = getmaxcolor();

ht = 2*textheight("W");

/* вывести цвета по умолчанию */

for(color=0;color<maxcolor; color++);

{

setcolor(color);

sprintf(msg,"Color %d",color);

outtextxy(1,y,msg);

y += ht;

}

/* ожидать нажатия клавиши */

getch();

/* присвоить цветам по одному, значение черного */

for(color=0;color<maxcolor; color++);

{

setpalette(color,BLACK);

getch();

}

/* очистка */

closegraph();

return 0;

}

setrgbpalette

Функция Позволяет пользователю определять цвета для

IBM 8514.

Синтаксис #include <graphics.h>

void far setgbpalette(int colornum,int red,

int green, int blue);

= 172 =

Файл, содержащий graphics.h

прототип

Описание setgbpalette может использоваться с драйверами

IBM8514 и VGA.

colornum определяет элемент палитры, который дол-

жен быть загружен, а red, green и blue определяют

цветовые составляющие элемента палитры.

Для дисплея IBM8514 (и VGA в цветном режиме 256К)

colornum изменяется в интервале от 0 до 255. Для

остальных режимов VGA colornum изменяется в ин-

тервале от 0 до 15. Используется только младшие

байты red, green и blue, и из байта лишь 6 наибо-

лее значащих бит загружаются в палитру.

Замечание. Для совместимости с другими графичес-

кими адаптерами IBM, драйвер BGI устанавливает

первые 16 элементов палитры IBM8514 в цвета

EGA/VGA, используемые по умолчанию. Эти значения

могут использоваться без изменений, а могут изме-

няться с помощью setrgbpalette.

Возвращаемое Нет.

значение

Переносимость Функция уникальна для Turbo C++. Она работает

только на компьютерах IBM PC и совместимых с ни-

ми, оснащенных дисплейными адаптерами, поддержи-

вающими графический режим.

Смотрите также setpalette.

Пример:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

Int main(void)

{

/* выбор драйвера и режима, поддерживающих функцию setrgbpalette */

int graphdriver = VGA, gmode = VGAHI, errorcode;

/* указатель на структуру описания политры */

struct palettetype pal;

int i,ht,y,xmax;

/* инициализация графики и локальных переменных */

= 173 =

Initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */

errorcode = graphresult();

if(errorcode != grOk) /* если ошибка */

{

printf("Ошибка :%s\n",grapherrormessage(errorcode));

printf("Для останова нажмите любую клавишу\n");

getch();

exit(1); /* завершение с кодом ошибки */

}

/* получить копию палитры */

getpalette(&pal);

for(i=0;i<pal.size;i++);

{

setrgbpalette(pal.colors[i],i*4,i*4,i*4);

/* вывести сообщение */

ht = getmaxy()/16;

xmax = getmaxx();

y=0;

for(i=0;i<pal.size;i++);

{

setfillstyle(SOLID_FILL,i);

bar(0,y,xmax,y+ht);

y += ht;

}

/* очистка */

getch();

closegraph();

return 0;

}

settextjustify

Функция Устанавливает выравнивание текста для графических

функций.

Синтаксис #include <graphics.h>

void far settextjustify(int horiz,int vert);

Файл, содержащий graphics.h

прототип

Описание Выводимый текст, после обращения к settext-

justify будет выравнен горизантально или верти-

кально относительно текущей позиции (СР). По

умолчанию устанавливается выравнивание текста

LEFT_TEXT (для горизонтального) и TOP_TEXT (для

вертикального). Перечисленные в graphics.h

text_just представляют собой имена для установки

= 174 =

horiz и vert для передачи в settextjustify.

ЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂ

Название Знач. Описание

ЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂ

LEFT_TEXT 0 horiz

CENTER_TEXT 1 horiz и vert

RIGHT_TEXT 2 horiz

BOTTOM_TEXT 0 vert

TOP_TEXT 2 vert

ЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂ

Если horiz равно LEFT_TEXT и direction равно

HORIZ_DIR, то элемент x CP продвигается с помощью

textwidth(string) после вызова outtext(string).

settextjustify работает с текстами написанными

функцией outtext и не может быть использована в

текстовом режиме и с потокоориентированными функ-

циями.

Возвращаемое Если в settextjustify передается неправильный

значение ввод, то graphresult возвратит -11, а теку-

щее выравнивание текста останется без изменений.

Переносимость Функция уникальна для Turbo C++. Она работает

только на компьютерах IBM PC и совместимых с ни-

ми, оснащенных дисплейными адаптерами, поддержи-

вающими графический режим.

Смотрите также gettextsettings, graphresult, outtext,

settextstyle.

Пример:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

/* прототип функции */

void xat(int x,int y);

/* горизонтальное выравнивание текста */

char *hjust[] = {"LEFT_TEXT",

"CENTER_TEXT",

"RIGTH_TEXT"};

/* вертикальное выравнивание текста */

char *vjust[] = {"BOTTOM_TEXT",

"CENTER_TEXT",

= 175 =

"TOP_TEXT"};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]