Функция Получает информацию о текущей палитре.
Синтаксис #include
void far getpalette(struct palettetype far
*palette);
Файл, содержащий graphics.h
прототип
Описание Заполняет структуру palettetype, на которую
ссылается palette, информацией о размере политры
и ее цветах. Константа MAXCOLORS и структура
palettype, используемые getpalette, определены в
graphics.h следующим образом:
#define MAXCOLORS 15
struct palettetype{
unsigned char size;
signed char colors[MAXCOLORS+1];
};
size дает количество цветов в палитре текущего
драйвера и режима.
colors - это массив цветов данной палитры.
Примечание. getpalette нельзя использовать с
драйвером для IBM-8514.
Возвращаемое Нет.
значение
Переносимость Функция уникальна для Turbo C++. Она работает
только на компьютерах IBM PC и совместимых с ни-
ми, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также getbkcolorgetcolorgetdefaultpalettegetmaxcolorsetallpalettesetpalette
Пример:
#include
#include
#include
#include
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
struct palettetype pal;
char psize[80],pval[20];
int i,ht;
int y=10';
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
/* получить копию палитры */
getpalette(&pal);
/* преобразовать ее в строку */
sprintf(psize,"Палитра имеет %d изменяемых элементов",pal.size);
/* вывести информацию */
outtextxy(0,y,psize);
if(pal.size != 0)
{
ht = textheight("W");
y += 2*ht;
outtextxy(0,y,"Ниже приведены значения цветов палитры");
y += 2*ht;
for(i=0; i