CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
setrgbpalette
setrgbpalette
Функция Позволяет пользователю определять цвета для IBM 8514. Синтаксис #include <graphics.h> void far setgbpalette(int colornum,int red, int green, int blue); Файл, содержащий 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. Возвращаемое Нет. значение Переносимость Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows. Смотрите также 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; /* инициализация графики и локальных переменных */ 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; }