Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник по функциям С++.doc
Скачиваний:
168
Добавлен:
02.05.2014
Размер:
3.57 Mб
Скачать

Getpallete

-----------------------------------------------------------------

НазначениеВозвращает информацию о текущей палитре.

Синтаксис #include<graphics.h>

void far getpalette(struct palettetype far

*palette);

Прототип в graphics.h

Замечания getpalette заносит в структуру palettetype, на

которую указывает palette, информацию о текущем

размере палитры и цветах.

Структура palettetype, используемая функцией

getpalette, и константа MAXCOLORS описаны в

graphics.h следующим образом:

define MAXCOLORS 15

struct palettetype {

unsigned char size;

signed char colors[MAXCOLORS + 1];

};

size задает число цветов в палитре для текущего

графического драйвера и режима.

colors - это массив из size байт, содержащий

значение цвета (не номер) для каждого элемента

палитры.

Замечание: getpalette не используется с драйве-

ром IBM-8514

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

значение

ПереносимостьДанная функция работает только на IBM PC и сов-

местимых моделях при наличии соответствующих

графических адаптеров.

Смотри также getbkcolor, getcolor, getdefaultpalette,

getmaxcolor, setallpalette, setpalette

Пример

#include<graphics.h>

#include<stdlib.h>

#include<conio.h>

main()

{

/* требование автоопределения */

int graphdriver = DETECT, graphmode;

struct palettetype palette;

int color;

/* инициализация графики */

initgraph(&graphdriver, &graphmode, "");

/* получить текущую палитру */

getpalette(&palette);

for(color=0; color<palette.size; color++)

{

/* вычертить цветную линию */

setfillstyle(SOLID_FILL, color);

bar(20*(color-1), 0, 20*color, 20);

}

/* только в случае двух и более цветов */

if (palette.size > 1)

{

do /* изменить случайно цвета */

setpalette(random(palette.size),

random(palette.size));

/* пока не нажата клавиша */

while(!kbhit());

/* сбросить нажатие */

getch();

}

/* восстановить палитру */

setallpalette(&palette);

closegraph();

}

-----------------------------------------------------------------