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

Ваш аккаунт

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

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

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

setallpalette

setallpalette


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

Синтаксис          #include <graphics.h>
                   void far setallpalette(struct palettetype
                   far *palette);

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

Описание           setallpalette устанавлмвает   текущую   политру  в
                   значения,  заданные в  структуре  palettetype,  на
                   которую  указывает  параметр  palette.
                   
                   Вы можете  частично (или полностью) изменить цвета
                   политры EGA/VGA c помощью функции setallpalette.

                   Константа MAXCOLORS    и   структура   palettetype
                   используемые   в   setallpalette,   определены   в
                   graphics.h следующим образом:

                      #define MAXCOLORS 15

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

                   size - содержит количество цветов  в  палитре  для
                   текущего графического драйвера в текущем режиме.

                   colors -  массив  из  size  байт,  содержащий  ряд
                   номеров цветов для каждого элемента палитры.  Если
                   элемент в массиве colors равен -1, то цвет палитры
                   для этого элемента не изменяется.

                   Элементы массива    colors,     используемые     в
                   setallpalette,  могут  быть  представлены  в  виде
                   символических констант, определенных в graphics.h
                                                  
          Таблица 2.6. Таблица цветов.
          -----------------------------------------------------
                    Таблица доступных цветов
          -----------------------------------------------------
                 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
          -----------------------------------------------------

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

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

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

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

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

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

Пример:

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

int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
struct palettetype pal;
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");
/* получить копию палитры */
getpalette(&pal);
/* вывести значения цветов палитры */
for(color = 1; color <= maxcolor; color++)
{
   setcolor(color);
   sprintf(msg,"Color %d",color);
   outtextxy(1,y,msg);
   y += ht;
}
/* ожидать нажатия клавиши */
getch();
/* присвоить всем у[цветам значение черного */
for(color = 1; color <= maxcolor; color++)
{
   setpalette(color,BLACK);
   getch();
}
/* восстановить цвета палитры */
setallpalette(&pal);
/* очистка */
getch();
closegraph();
return 0;
}

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

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