Язык:
Русский
English
SetPalette (процедура) (модуль Graph)
Заменяет один цвет в палитре.
Объявление
Procedure SetPalette(ColorNum : Word; Color : Shortint);
Режим
Real, Protected
Замечания
Устанавливает компонент палитры с номером ColorNum на Color. Например, SetPalette (0, LightCyan) делает первым цветом в палитре цвет LightCyan. Значение ColorNum может находиться в диапазоне от 0 до 15, в зависимости от текущего графического драйвера и текущего графического режима. Если в процедуру передаются недопустимые параметры, то в переменную GraphResult возвращается значение grError, и палитра остается неизменной.
Изменения, производимые в палитре, сразу отображаются на экране. В примере, данном к этой процедуре, на экран выводятся несколько линий, затем палитра изменяется по случайному закону.
Ограничения
Нужно быть в графическом режиме. Можно использовать только на EGA, EGA64 или VGA (но не IBM 8514).
Смотри также
Пример
Язык:
Русский
English
{ Пример программы для процедуры SetPalette }
var
GraphDriver, GraphMode : Integer;
Color : Word;
Palette : PaletteType;
begin
GraphDriver := Detect;
InitGraph(GraphDriver, GraphMode, 'X:\BP');
if GraphResult <> grOk then
Halt(1);
GetPalette(Palette);
if Palette.Size <> 1 then
begin
for Color := 0 to Pred(Palette.Size) do
begin
SetColor(Color);
Line(0, Color * 5, 100, Color * 5);
end;
Randomize;
repeat
SetPalette(Random(Palette.Size), Random(Palette.Size));
until KeyPressed;
end
else
Line(0, 0, 100, 0);
ReadLn;
CloseGraph;
end.