Přidáno 1 826 bajtů,
4. 10. 2012, 16:37 Změní jednu barvu palety, jak je určeno parametry ColorNum a Color.
;Deklarace
procedure SetPalette(ColorNum: Word; Color: Shortint);
;Režim
:Reálný, Chráněný
;Poznámky
:Změní položku ColorNum v paletě na barvu [[Color]]. [[SetPalette]](0, LightCyan) učiní první barvou v paletě světle tyrkysovou. ColorNum může nabývat hodnot od 0 do 15, v závislosti na aktuálním grafickém driveru a aktuálním grafickém režimu. Při zadání neplatného parametru vrací GraphResult hodnotu grError a paleta se nemění.
:Změny barev v paletě jsou na obrazovce okamžitě viditelné. Ve vzorovém příkladě se na obrazovku nakreslí několik čar a poté se paleta náhodně mění. Pokaždé, když se změní barva palety, všechny výskyty dané barvy na obrazovce se změní na novou barvu.
;Omezení
:Je nutno být v grafickém režimu a lze použít pouze s [[EGA]], [[EGA]] 64 nebo [[VGA]] (nikoli s IBM 8514).
;Viz také
:[[GetBkColor]]
:[[GetColor]]
:[[GetPalette]]
:[[GraphResult]]
:[[SetAllPalette]]
:[[SetBkColor]]
:[[SetColor]]
:[[SetRGBPalette]]
Vzorový příklad
{Setplt.PAS}
{Vzorový příklad pro proceduru SetPalette.}
uses Crt, Graph;
var
GraphDriver, GraphMode: Integer;
Color: Word;
Palette: PaletteType;
begin
GraphDriver := Detect;
InitGraph(GraphDriver, GraphMode, ' ');
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.
[[Category:Graph]]
[[Category:Procedúry Graph]]