CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
getpalette
getpalette
Функция Получает информацию о текущей палитре. Синтаксис #include <graphics.h> 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. Возвращаемое Нет. значение Переносимость Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows. Смотрите также getbkcolor, getcolor, getdefaultpalette, getmaxcolor, setallpalette, setpalette. Пример: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> 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",grapherrormessage(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<pal.size, i++,y+=ht) { sprintf(pval,"Палитра[%02d]:0x%02X",i,pal.colors[i]); outtextxy(0,y,pval); } } /* очистка */ getch(); closegraph(); return 0; }