SetRGBPalette(ColorType,byte,byte,byte) Method

Az ablakhoz tartozó teljes palettát lecseréli egy RGB színre, és ennek megfelelően megváltoznak a kép színei.

Namespace: Graph
procedure SetRGBPalette(const ColorNum: ColorType; const R, G, B: byte);

Parameters

ColorNum
Type: System.Void

A lecserélendő szín sorszáma (0..MaxColors = 15).

R
Type: byte

Az RGB szín vörös összetevője (0..255).

G
Type: byte

Az RGB szín zöld összetevője (0..255).

B
Type: byte

Az RGB szín kék összetevője (0..255).

Az eljárás a palettában egy olyan indexet próbál használni, amely még nem volt, vagy már korábban erre a színre volt alkalmazva. Ez a sorszám a következő GraphDefaults eljárás hívásáig alkalmas a szín másolására, utána új indexek kerülnek kiosztásra.

Ha már a 255 index is ki lett osztva RGB színnek, akkor a következő híváskor ez lesz újra meg újra felülírva. Ha ez problémát okoz, célszerű egy GraphDefaults utasítással törölni a már kiosztott indexeket, hogy újakat lehessen kiosztani.

A SetRGBPalette eljárás rendkívül lassú (~3..7 s). Csak akkor alkalmazza ha más alternatíva nincs, egymás utáni ismételve pedig lehetőleg egyáltalán ne. Ha több szín megváltoztatására készül, inkább használja a SetAllPalette eljárást, RGBToColor függvényhívásokkal kombinálva.

Ha a program paletta animációt tartalmaz, elméletben ezzel kivitelezhető, de gyakorlatilag jelentős lassúságra kell számítani. Amennyiben a MaxPages konstans értéket 0-ra csökkenti (egyetlen grafikus lap lesz), jelentős gyorsulást érhet el az animációban, de ez is elmarad az eredeti sebességtől.

Reference