Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Процедура SetAllPalette



Изменяет одновременно несколько цветов палитры.

Заголовок:

Procedure SetAllPalette (var Palette)

Параметр Palette в заголовке процедуры описан как нетипизированный параметр. Первый байт этого параметра должен содержать длину N палитры, остальные n байты –номера вновь устанавливаемых цветов в диапазоне от 1 до MaxColors. Код «1» означает, что соответствующий цвет исходной палитры не меняется.

Рассмотрим реализацию предыдущей задачи с использованием процедуры SetAllPalette.

Program DemoSetPalette 2;

Uses CRT, Graph;

Var

GrDriver, GrMode, i: integer;

pal: array [0..16] of integer;

Begin

GrDriver: =Detect;

InitGraph (GrDriver, GrMode, 'C: |Bp| BGI');

randomize;

for i:=0 to 16 do

Pal [i]:= Random(16);

Pal [0]:= 15;

SetAllPalette (Pal);

SetBkColor (1);

for i:= 1 to 15 do

begin

SetColor(i);

Line (10, 10+10*i, 300, 10+10*i);

end;

readln;

CloseGraph;

End.

Особенностью использования процедуры SetAllPalette в таких конструкциях является то, что 0-цвет (по умолчанию) – цвет фона как бы выпадает из поля зрения. В программе используется строка SetBkColor (1) для лучшей демонстрации, поскольку по умолчанию цвет фона всегда 0 (черный) и линии с темными оттенками становятся невидимыми.

В модуле Graph определена константа

const

MaxColors= 15;

и тип

tupe

PalettePupe= record

Size: word; {количество цветов в палитре}

Colors: array [0..MaxColors] of ShortInt

{номера входящих в палитру цветов}.

end;

С помощью следующей программы можно вывести на экран номера всех возможных цветов из текущей палитры.

Program DemoSetPalette;

Uses CRT, Graph;

Var

GrDriver, GrMode, i: integer;

pal: PaletteTupe;

Begin

GrDriver: =Detect;

InitGraph (GrDriver, GrMode, 'C: |Bp| BGI');

GetDefaultPalette (Pal);

GetPalette (Pal);

CloseGraph;

for i:= 1 to 16 do

writeln (pal.colors[i]);

End.

В этой программе процедура SetPalette возвращает размер и цвета текущей палитры.

Ее заголовок:

Procedure GetPalette (var PaletteInfo: PaletteTupe);





Дата публикования: 2015-06-12; Прочитано: 255 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...