安卓中COLOR的值分析
阿新 • • 發佈:2019-01-05
今天在做方面的安卓的影象顯示的時候,需要實時的改變圖片的顏色,然而,客戶端接收的都是RGB值,而JAVA中的BITAMP類構造時,需要的是一個顏色值,所以需要一個類似new Color(int r,int g,int b)的函式。由於JAVA.AWT.Color這個JAVA中的顏色類不能用,而ANDOID的應用中好像沒有提出類似的方法,本人就想直接使用最原始的方法獲得顏色值:
int color = (r<<16)|(g<<8)|(b)
然而根據此顏色得到的影象卻顯示不出來。為探究其原因,首先打印出了COLOR.RED值,發現竟然是負值,然後查了查ANDOID的COLOR的方法發現所有的顏色值都是負的,接著檢視其16進位制編碼發現 綠色為
int color = (0xff000000)|(r<<16)|(g<<8)|(b)
問題解決