MODELE DE CULOARE
Java utilizeaza un model de culoare pentru a interpreta datele despre pixeli in vederea extragerii informatiilor despre culoare.
Modelul de culoare implicit
Alfa (Alpha) | Rosu (Red) | Verde (green) | Albastru (blue) |
32 | 24 | 16 | 8 | 0
|
Modelul utilizeaza cate 8 biti pentru a stoca fiecare dintre culorile albastru,verde,rosu si componenta alfa (defineste transparenta pixelului)
Modelul de culoare direct
Clasa DirectColorModel permite definirea nr.de biti pe care Java ar trebui sa-i utilizeze pentru reprezentarea fiecarei componente de culoare:
DirectColorModel(int biti, int rmasca,int gmasca,int bmasca);
DirectColorModel(int biti,int rmasca,int gmasca,int bmasca,int alfamasca);
implicit:
DirectColorModel(32,0x00FF0000,0x0000FF00,0x000000FF,0xFF000000);
biti=nr.biti necesari pentru stocarea culorii unui pixel
rmasca,gmasca,bmasca,alfamasca=masca de biti utilizata pentru extragerea datelor despre pixeli
Spatiul de culoare
Cubul culorilor RGB furnizeaza o reprezentare grafica pentru modelul de culoare RGB. Dar, aceeasi culoare din modelul RGB, se poate reprezenta prin
nuanta, saturatie si stralucire -HSB( hue-nuanta, saturation-saturatie, brightness-stralucire).
Metode de conversie a spatiului de culoare:
-utilizati metodele clasei Color de mai jos:
int HSBtoRGB(float nuanta,float saturatie,float stralucire);
float[] RGBtoHSB(int r,int g,float hsbval[]);
nuanta = radiani;
saturatie, stralucire = 0,0 ... 1,0;