任何人都可以爲我解釋java如何在TYPE_INT_RGB和TYPE_INT_ARGB中存儲顏色?
這些代碼行是否適用於計算紅色,綠色和藍色?TYPE_INT_RGB和TYPE_INT_ARGB的格式
int red= (RGB>>16)&255;
int green= (RGB>>8)&255;
int blue= (RGB)&255;
那麼TYPE_INT_ARGB呢?如何從TYPE_INT_ARGB獲取紅色,綠色和藍色?
任何人都可以爲我解釋java如何在TYPE_INT_RGB和TYPE_INT_ARGB中存儲顏色?
這些代碼行是否適用於計算紅色,綠色和藍色?TYPE_INT_RGB和TYPE_INT_ARGB的格式
int red= (RGB>>16)&255;
int green= (RGB>>8)&255;
int blue= (RGB)&255;
那麼TYPE_INT_ARGB呢?如何從TYPE_INT_ARGB獲取紅色,綠色和藍色?
TYPE_INT_ARGB
表示顏色爲int
(4字節),其中位24-31爲紅色通道,紅色通道爲16-23,綠色爲8-15,藍色爲0-7。
TYPE_INT_RGB
以與TYPE_INT_ARGB
相同的方式表示顏色爲int
(4字節),但忽略alpha通道(或位24-31爲0)。
看看java.awt.Color和java.awt.image.BufferedImage的javadoc。
我不知道這些東西之前:-)很高興知道別人已經爲你搜索:-) – 2012-07-01 16:11:09
這些是指示BufferedImage
實例的顏色模型的常數值。這些值本身不存儲顏色。
您對TYPE_INT_RGB正確。等效TYPE_INT_ARGB代碼將是:
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;
拼寫出來字節的色彩元素,從最顯著到最低顯著,你ARGB,故名。
更好的代碼,255可能是'0xff'或'0b1111_1111' – Thumbz 2014-05-07 07:52:35