setrgbpalette

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

Синтаксис          #include 
                   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.

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

Переносимость      Функция уникальна для Turbo C++. Она работает
                   только на компьютерах IBM PC и совместимых с ни-
                   ми, оснащенных дисплейными адаптерами, поддержи-
                   вающими графический режим.

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

Пример:

#include 
#include 
#include 
#include 

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",grapherrormsg(errorcode));
   printf("Для останова нажмите любую клавишу\n");
   getch();
   exit(1);  /* завершение с кодом ошибки */
}
/* получить копию палитры */
getpalette(&pal);
for(i=0;i