CATEGORII DOCUMENTE |
Gestiunea culorilor
Adaptoarele grafice sunt prevazute cu o zona de memorie in care se pastreaza date specifice gestiunii ecranului. Aceasta zona de memorie poarta denumirea de memorie video.
In mod grafic, ecranul se considera format din puncte luminoase numite pixeli. Pozitia pe ecran a unui pixel se defineste prin doua valori intregi: (x,y)
unde: x - defineste coloana in care este afisat pixelul;
y - defineste linia in care este afisat pixelul.
Fiecarui pixel ii corespunde o culoare ce este patrata in memoria video. Numarul maxim de culori care pot fi afisate cu ajutorul unui adaptor EGA este 64.. Culorile se codifica prin numere intregi din intervalul [0, 63] si prin constante simbolice. Cele 64 de culori nu pot fi afisate simultan. In cazul adaptorului EGA pe ecran se pot afisa cel mult 16 culori ce formeaza o paleta. Paleta implicita este data de tabelul urmator:
Denumire simbolica |
Valoare |
BLACK |
0 |
BLUE |
1 |
GREEN |
2 |
CYAN |
3 |
RED |
4 |
MANGETA |
5 |
BROWN |
6 |
LLIGHTGRAY |
7 |
DARKGRAY |
8 |
LIGHTBLUE |
9 |
LIGHTGREEN |
10 |
LIGHTCYAN |
11 |
LIGHTRED |
12 |
LIGHTMANGETA |
13 |
YELLOW |
14 |
WHITE |
15 |
In mod implicit, culoarea fondului este intotdeauna cea corespunzatoare indicelui zero, iar culoarea pentru desenare este cea corespunzatoare indicelui 15.
Pentru controlul culorilor pot fi utilizate urmatoarele functii:
void far setbkcolor(int culoare) - modifica culoarea fundalului;
int far getbkcolor(void) - returneaza indexul din tabloul care defineste paleta pentru culoarea fundalului;
void far setcolor(int culoare) - seteaza culoarea utilizata pentru desenare;
int far getcolor(void) - returneaza indexul din tabloul care defineste paleta pentru culoarea de desenare;
void far setpalette(int index,int cod) - seteaza o noua culoare in paleta ce este utilizata la colorare (index ia valori intre [0, 15] iar cod intre [0, 63]);
void far setallpalette(struct palettetype far* paleta) - modifica mai multe culori din paleta. Palettetype este o structura definita ca mai jos:
struct palettetype ;
unde size - este dimensiunea paletei;
colors - este un tablou ale carui elemente au ca valori codurile culorilor componente ale paletei care se defineste.
Modificarea paletei curente cu ajutorul functiei setpalette sau setallpalette conduce la schimbarea corespunzatoare a culorilor afisate pe ecran in momentul apelului functiilor respective.
void far getpalette(struct palettetype far* paleta) - determina codurile culorilor componente ale paletei curente;
int far getmaxcolor(void) - returneaza numarul maxim de culori diminuat cu 1;
int far getpalettesize(void) - returneaza numarul culorilor componente ale paletei.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 708
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved