Программирование на C и C++

Онлайн справочник программиста на C и C++

getpalette

void far getpalette(struct palettetype far *pal)

Прототип: 
Описание: 

Функция getpalette() заполняет структуру, на которую указывает параметр pal, значением теку­щей палитры. Структура palettetype определена следующим образом:

struct palettetype {
unsigned char size;
signed char colors[MAXCOLORS + 1];
};

Элемент size содержит число цветов, имеющихся в наличии в текущей палитре. Массив colors содержит значения цветов, имеющихся в палитре. Ниже приведены цвета вместе с соответствую­щими макросами.

Коды CGA (только для фона):

Макрос Величина
BLACK 0
BLUE 1
GREEN 2
CYAN 3
RED 4
MAGENTA 5
BROWN 6
LIGHTGRAY 7
DARKGRAY 8
LIGHTBLUE 9
LIGHTGREEN 10
LIGHTCYAN 11
LIGHTRED 12
LIGHTMAGENTA 13
YELLOW 14
WHITE 15

Режимы EGA и VGA:

Макрос Величина
EGA_BLACK 0
EGA_BLUE 1
EGA_GREEN 2
EGA_CYAN 3
EGA_RED 4
EGA_MAGENTA 5
EGA_BROWN 20
EGA_LIGHTGRAY 7
EGA_DARKGRAY 56
EGA_LIGHTBLUE 57
EGA_LIGHTGREEN 58
EGA_LIGHTCYAN 59
EGA_LIGHTRED 60
EGA_LIGHTMAGENTA 61
EGA_YELLOW 62
EGA_WHITE 63
Пример: 
Следующая программа выводит число цветов, поддерживаемых заданным по умолчанию видеоре­жимом:
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
int main(void)
{
int driver, mode;
struct palettetype p;

driver = DETECT; /* автоопределение */
mode = 0;
initgraph(&driver, &mode, "c:\\bc5\\bgi");
getpalette (&p);
printf("number of colors in palette: %d", p.size);
getch ();
restorecrtmode();
return 0;
}