Otevřít hlavní menu

Změny

SetPalette

Přidáno 1 826 bajtů, 4. 10. 2012, 16:37
Created page with "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ý ;Po..."
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]]