SetPalette
Verze z 4. 10. 2012, 17:01, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Unit Graph)
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
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.