HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
26 ноября. В 1941 году (83 года назад) - Президент США Франклин Рузвельт утвердил ещё один государственный праздник - День Благодарения. Он отмечается в каждый четвертый четверг ноября.
 
 

Turbo Pascal Documentation

Процедура SetRGBPalette

Модуль Graph


     Функция: Позволяет изменить записи палитры для  драйве-
ров IBM 8514 и VGA.
     Описание: SetRGBPalette(номер_цвета, RedVavue, GreenVa-
lue, BlueValue : integer)
     Примечания: Параметр "номер_цвета" задает запись палит-
ры,  которую  нужно  загрузить,  а  RedValue,  GreenValue  и
BlueValue - цвета, составляющие запись палитры.
     Для дисплея IBM-8514 "номер-цвета" принивает значения в

диапазоне   0..255.   Для   VGA  в  цветном  режиме  и  256К
"номер_цвета" принимает значения в диапазоне 0..15.  Исполь-
зуется  только младший байт RedValue, GreenValue и BlueValue
и только 6 старших битов этого байта загружаются в палитру.

           Замечание: В целях совместимости с другими графи-
      ческими  адаптерами  фирмы  IBM драйвер BGI определяет
      первые  16  записей  палитры  IBM-8514  для  адаптеров
      EGA/VGA. Эти значения могут использоваться непосредст-
      венно   или    изменяться    с    помощью    процедуры
      SetRGBPalette.

     Аналогичная процедура имеется в версии 2.0 Турбо-Си.
     Ограничения: Процедура  SetGRBPalette  может  использо-
ваться  только при наличии графического адаптера VGA и драй-
вера IBM-8514.
     Прочее: См. также процедуру SetPalette.
     Пример:

        uses Graph;
        type
          GRBRec = record
          RedVal, GreenVal, BlueVal : integer;
            end;
        const
          EGAColors : array[0..MaxColors] of
    GRBRec =(                              { Назв. Цвет }
        (RedVal:00;GreenVal:00;BlueVal:00), {черный EGA 0}
        (RedVal:00;GreenVal:00;BlueVal:FC), {голуб. EGA 1}
        (RedVal:24;GreenVal:FC;BlueVal:24), {зелен. EGA 2}
        (RedVal:00;GreenVal:FC;BlueVal:FC), {бирюз. EGA 3}
        (RedVal:FC;GreenVal:14;BlueVal:14), {красн. EGA 4}
        (RedVal:B0;GreenVal:00;BlueVal:FC), {малин. EGA 5}
        (RedVal:70;GreenVal:48;BlueVal:FC), {корич. EGA 20}
        (RedVal:C4;GreenVal:C4;BlueVal:C4), {белый  EGA 7 }
        (RedVal:34;GreenVal:34;BlueVal:34), {серый  EGA 56}
        (RedVal:00;GreenVal:00;BlueVal:70), {св.гол.EGA 57}
        (RedVal:00;GreenVal:70;BlueVal:00), {св.зел.EGA 58}
        (RedVal:00;GreenVal:70;BlueVal:70), {св.бир.EGA 59}
        (RedVal:70;GreenVal:00;BlueVal:00), {св.кр. EGA 60}
        (RedVal:70;GreenVal:00;BlueVal:70), {св.мал.EGA 61}
        (RedVal:FC;GreenVal:FC;BlueVal:24), {желтый EGA 62}
        (RedVal:FC;GreenVal:FC;BlueVal:FC), {т.белыйEGA 63}
        );
        var
          Driver, Mode,
          i : integer;
        bagin
          Driver := IBM8514;      { отменить автообнаружение }
          Mode := IBM8514Hi;
          InitGraph(Driver, Mode, ''); { перевести в
                                         графический режим }
          if GraphResult < 0 then
             Halt(1);
          { нулевая палитря, весь графический вывод невидим }
          for i := 0 to MaxColors do
              with EGAColors[i] do
                 SetRGBPalette(i, 0, 0, 0);
          { вывести что-нибудь на экран }
          { изменить первый 16 записей палитры для 8514 }
          for i := 1 to MaxColors do
            begin
              SetColor(i);
              OutText(10, i*10, '...Нажмите любую клавишу..');
            end;
          { восстановить принятые по умолчанию цвета EGA в
            палитру 8514 }
          for i := 0 to MaxColors do
             with EGAColors[i] do
                  SetRGBPalette(i, RedVal, GreenVal,
       BlueVal);
          Readln;
          CloseGraph;
        end.




HOME