color.getRGB得到是負數,解決方案

情景: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.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章