Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

setpalette

setpalette


Функция            Изменяет один цвет в палитре.

Синтаксис          #include <graphics.h>
                   void far setpalette(int colornum, int color);

Файл, содержащий   graphics.h
прототип

Описание           setpalette устанавливает элемент colornum в color.
                   Например,  setpalette(0,5)  изменяет  первый  цвет
                   текущей палитры (цвет фона) на цвет,  имеющий  код
                   5. Если size - это количество элементов в  текущей
                   палитре,  то  colornum  может  изменяться  от 0 до
                   (size -1).

                   Вы можете частично (либо целиком) поменять цвета в
                   EGA/VGA палитре с помощью setpalette. На CGA же вы
                   можете  изменить  лишь  первый   элемент   палитры
                   (colornum равен 0, цвет фона).

                   Элементы массива     colors,     используемые    в
                   setpalette,   могут   быть   представлены    ввиде
                   символических констант, определенных в graphics.h:
                   
          -----------------------------------------------------
                    Таблица доступных цветов
          -----------------------------------------------------
                 CGA                         EGA/VGA
          Имя               Знач      Имя               Знач.
          -----------------------------------------------------
          BLACK                0    EGA_BLACK              0
          BLUE                 1    EGA_BLUE               1
          GREEN                2    EGA_GREEN              2
          CYAN                 3    EGA_CYAN               3
          RED                  4    EGA_RED                4
          MAGENTA              5    EGA_MAGENTA            5
          BROWN                6    EGA_LIGHTGRAY          7
          LIGHTGRAY            7    EGA_BROWN             20
          DARKGRAY             8    EGA_DARKGRAY          56
          LIGHTBLUE            9    EGA_LIGHTBLUE         57
          LIGHTGREEN          10    EGA_LIGHTGREEN        58
          LIGHTCYAN           11    EGA_LIGHTCYAN         59
          LIGHTRED            12    EGA_LIGHTRED          60
          LIGHTMAGENTA        13    EGA_LIGHTMAGENTA      61
          YELLOW              14    EGA_YELLOW            62
          WHITE               15    EGA_WHITE             63
          -----------------------------------------------------

                   Заметим, что цвета зависят от текущих графического
                   драйвера и графического режима.

                   Изменения, произведенные  в  палитре,   сразу   же
                   отражаются   на  экране.  При  изменении  цвета  в
                   палитре,  все на экране,  окрашенное в этот  цвет,
                   станет окрашенным в новый цвет.

                   Замечание. setpalette  не  может  использоваться с
                   драйвером IBM-8514.

Возвращаемое       Если в setpalette передается ошибочное
значение           значение, graphresult возвратит -11(grError) а
                   текущая палитра останется без изменений.

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

Смотрите также     getpalette, graphresult, setbkcolor, setcolor,
                   setrrgbpalette.

Пример:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int color,maxcolor,ht;
int y=10;
char msg[80];

/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk)  /* если ошибка */
{
   printf("Ошибка :%s\n",grapherrormessage(errorcode));
   printf("Для останова нажмите любую клавишу\n");
   getch();
   exit(1);  /* завершение с кодом ошибки */
}
maxcolor = getmaxcolor();
ht = 2*textheight("W");
/* вывести цвета по умолчанию */
for(color=0;color<maxcolor; color++);
{
   setcolor(color);
   sprintf(msg,"Color %d",color);
   outtextxy(1,y,msg);
   y += ht;
}
/* ожидать нажатия клавиши */
getch();
/* присвоить цветам по одному, значение черного */
for(color=0;color<maxcolor; color++);
{
   setpalette(color,BLACK);
   getch();
}

/* очистка */
closegraph();
return 0;
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог