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.
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.