CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
setcolor
setcolor
Функция Устанавливает текущий цвет рисования, используя палитру. Синтаксис #include <graphics.h> void far setcolor(int color); Файл, содержащий graphics.h прототип Описание setcolor изменяет текущий цвет вывода, который может изменяться от 0 до getmaxcolor. Текуший цвет вывода - это значение которое присваивается пикселям при рисовании линий и т.п. Следующие таблицы содержат цвета, используемые в CGA и EGA соответственно. ----------------------------------------------------------- Номер Константа присвоенная номеру цвета(значение пиксел палитры 1 2 3 ----------------------------------------------------------- 0 CGA_LIGHTGREEN CGA_LIGHTRED CGA_YELLOW 1 CGA_LIGHTCYAN CGA_LIGHTMAGENTA CGA_WHITE 2 CGA_GREEN CGA_RED CGA_BROWN 3 CGA_CYAN CGA_MAGENTA CGA_LIGHTGRA ----------------------------------------------------------- --------------------------------- Числовое Символическое значение имя --------------------------------- 0 BLACK 1 BLUE 2 GREEN 3 CYAN 4 RED 5 MAGENTA 6 BROWN 7 LIGHTGRAY 8 DARKGRAY 9 LIGHTBLUE 10 LIGHTGREEN 11 LIGHTCYAN 12 LIGHTRED 13 LIGHTMAGENTA 14 YELLOW 15 WHITE ----------------------------------- Вы выбираете цвет вывода, посылая либо сам номер цвета, либо соответствующее символическое имя в setcolor. Например, в режиме CGAC0 палитра состоит из четырех цветов: цвет фона, яркозеленый, яркокрасный и желтый. В этом режиме либо вызовом setcolor(3) либо setcolor(CGA_YELLOW) выбирается желтый цвет рисунка. Возвращаемое Нет. значение Переносимость Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим. Смотрите также getcolor, getmaxcolor, graphresult, setallpalette, setbkcolor, setpalette. Пример: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { /* Выбрать драйвер и режим, поддерживающие несколько цветов */ int graphdriver = EGA, gmode = EGAHI, errorcode; int color,x,y,maxcolor; char msg[80]; /* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,""); /* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormessage(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } /* максимальный поддерживаемый индекс цвета */ maxcolor = getmaxcolor(); /* установить центрирование текста */ settextjustify(CENTER_TEXT,CENTER_TEXT); x = getmaxx() / 2; y = getmaxy() / 2; /* цикл по допустимым цветам */ for(color=0;color<=maxcolor();color++) { /* очистить экран */ cleardevice(); setcolor(color); /* вывести сообщение */ sprintf(msg,"Color: %d",color); outtext(x,y,msg); getch(); } /* очистка */ getch(); closegraph(); return 0; }