情景:ava.awt.color 下面的getRGB怎麼得出的是負數???本來想通過getRGB得到一個整數,在另外的一個部分在根據這個整數構件一個color,因爲參數規定只能能傳整數!!!color通過什麼方法得到一整數????
解決方案:getRGB()返回默認 sRGB ColorModel 中表示顏色的 RGB 值。(24-31 位表示 alpha,16-23 位表示紅色,8-15 位表示綠色,0-7 位表示藍色)。
要得到具體R,G,B顏色分量得做個位移
// Color color
int rgb = color.getRGB();
int r = (rgb & 16711680) >> 16;
int g = (rgb & 65280) >> 8;
int b = (rgb & 255);
也可以直接使用Color的getRed(),getGreen(),getBlue()方法得到r,g,b.