Alex Rivera | Logout

Format of TYPE_INT_RGB and TYPE_INT_ARGB

Asked 2011-05-14T10:26:40.540
19

Could anyone explain for me how java stores color in TYPE_INT_RGB and TYPE_INT_ARGB ?
Do these lines of code work properly for calculating red, green and blue ?

int red= (RGB>>16)&255;
int green= (RGB>>8)&255;
int blue= (RGB)&255;

And what about TYPE_INT_ARGB ? How can I get red, green and blue from TYPE_INT_ARGB?

Edit
Report

1 Answer

13

You are correct for TYPE_INT_RGB. The equivalent TYPE_INT_ARGB code would be:

int rgb = rgbColor.getRGB(); //always returns TYPE_INT_ARGB
int alpha = (rgb >> 24) & 0xFF;
int red =   (rgb >> 16) & 0xFF;
int green = (rgb >>  8) & 0xFF;
int blue =  (rgb      ) & 0xFF;

Spelling out the color elements for the bytes from most significant to least significant, you get ARGB, hence the name.

answered 2011-12-25T14:25:06.443

Your Answer