Programozás Delphi
Általában a színpaletta sokat, de amikor a számítógéphez, akkor valószínű, hogy szem előtt az RGB. (A referencia, a paletta CKMY használt levezetését a színes kép a használt nyomtató nyomdaiparban Fő szín -. A sárga, kék és piros, fekete, szintén jelen van ebben a palettán játszik támogató szerepet, és egy állító szín). Ahogy a neve is mutatja, a fő szín a palettán - piros, zöld és kék. A keverés a színek különböző arányokban, más színek és árnyalatok. Például a sárga, meg kell, hogy a vörös és a zöld színek, és nem veszi meg a kék. Minden szín lehet más telítettségi foka - 0 és 255 (azaz 1 bit). 0 megfelel a minimális telítettséget 255 - rendre a maximális.
Egy rövid bevezető után áttérünk a mi tetszik a legjobban, hogy a programozást. Vegyük a forma 3 TrackBar'a, helyzetének megváltoztatása csúszkák, amely változtatni fogunk a telítettség az egyes színek, az RGB paletta. Átalakítani ezeket az értékeket a színtípusát TColor használja az RGB funkciót. A kapott szín lesz festve panel játék esetünkben a szerepe a monitort.
Azt hiszem, a példa nyilvánvaló, hogy ennek a paraméterek függvényében az RGB továbbított együtthatók a vörös, zöld és kék színben. Minden változás a csúszka okoz SetMomitorColor eljárást annak érdekében, hogy tudjuk megfigyelni a fokozatosan változó színű. Ez azonban nem az egyetlen eljárás, ami miatt a mozgás a csúszkát. BŐVEBBEN.
MoveLabel eljárás (lásd alább), mint a neve is sugallja, mozgatja a címke, hogy a központ Label mindig csak alul a csúszkát. Mivel a paraméterek át a komponensek önmagukban, ami egy univerzális folyamatot minden TrackBar'ov. A következő sor beállítja a színt a szöveg szerint a jelenlegi telítettsége RGB színpaletta, amely felelős a megfelelő trackbar. Az utóbbi eljárás az aktuális szín különböző formátumokban (gondoljunk erről később).
Bemutatása színek különböző formátumokban. A HTML formátumban, megadhatja a színe több szempontból is. Például, segítségével a jól ismert RGB eljárás. De megadhatja a szín hexadecimális formátumban (az én szempontból sokkal kényelmesebb), és úgy néz ki, az alábbiak szerint: #RGB. Itt, R, G, B - az értékeket a mindenkori színeket hexadecimális formában (például, # FF0000 - piros, # 00FF00 - zöld színű, # 0000FF - piros, sorrendben). Szín OpenGL terjedő tartományba állítjuk be 0-1 minden szín komponens, azzal jellemezve, 0 - minimális színtelítettséget (megfelel 0 Delphi), és 1 - makcimalnaya színtelítettséget (megfelel 255 Delphi). Ezzel az aktuális értéket az egyes színek komponens elosztjuk 255 Delphi is lehetővé teszi az átvitel típusát szín TColor egy karakterlánc segítségével ColorToString funkció (Szín: TColor): string (átvezető vissza TColor lehet StringToColor (const S funkció: string): TColor) .
Most, hogyan találjuk meg a színét a pixel érdekes számunkra a képernyőn. Ez segít nekünk funkció GetPixel. Tehát hogyan kell meghatározni a koordinátáit pixel „szemmel” nem lehetséges, akkor könnyebb (és logikus), hogy a szín a pixel, ami az egérmutató alatt. GetPixel TColor függvény egy típusú érték, és elkülöníteni azt az értéket az azt alkotó vörös, zöld és kék színben, akkor kell használni a funkciókat GetRValue, GetGValue és GetBValue volt. A következő példa bemutatja a működését ezeket a funkciókat.
És az utolsó. Az üzemmód megváltoztatásához a program (kézi Color / Auto Színes Detection), rohant, hogy létrehozzák a CheckBox, ami kapcsolja be / ki időzítő.