- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Initgraph(&graphdriver,&gmode,"");
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
- •Int main(void)
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"};
