謝謝你的時間:)。我已經看過Format of TYPE_INT_RGB and TYPE_INT_ARGB,現在知道如何將這個TYPE_INT_RGB轉換爲4個單獨的值,但是如果我要對每個值進行修改(比如每個添加20,那麼Alpha + = 20,red + = 20等等)我如何將這些值重新組合到這個TYPE_INT_RGB格式中?謝謝!如何將Alpha,Red,Green,Blue的4個獨立Int值更改爲TYPE_INT_RGB?
2
A
回答
3
我認爲這應該工作
int RGB = alpha;
RGB = (RGB << 8) + red;
RGB = (RGB << 8) + green;
Rgb = (RGB << 8) + blue;
有沒有位轉移的另一種方式,但我相信你會找到答案。
這一個是好的,太:
int rgba = new java.awt.Color(r,g,b,a).getRGB();
2
我會用java.awt.Color
這一點。
int ARGB = new Color(red, green, blue, alpha).getRGB();
我猜你是使用按位運算拔出個別顏色通道,但再次Color
類可以隱藏那些血淋淋的細節。
Color color = new Color(ARGB);
int red = color.getRed();
int green = color.getGreen();
// etc.
3
// to extract the components into individual ints.
int argb = something();
int red = 0xFF & (argb >> 16);
int alpha = 0xFF & (argb >> 24);
int blue = 0xFF & (argb >> 0);
int green = 0xFF & (argb >> 8);
// to recreate the argb
int argb = (alpha << 24) | (red << 16) | (green<<8) | blue;
相關問題
- 1. 在Xamarin.iOS中創建來自{alpha,red,green,blue}值的CGColor
- 2. 在Scala枚舉中,如何解釋'val RED,GREEN,BLUE = Value'?
- 3. UIColor * clr = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]有什麼問題;?
- 4. 將TextView更改爲Int值
- 5. 將三個獨立的mongodb服務器更改爲副本集?
- 6. 將Int值更改爲字符串
- 7. 分裂int值成獨立的數字
- 8. 如何將int的值更改爲dp和px?
- 9. 當將varchar值'Blue color'轉換爲數據類型int時,轉換失敗int
- 10. Android - 更改每個像素的alpha值
- 11. 如何將Int轉換爲Node-Red中的十進制?
- 12. 在一個列表中更改值將其更改爲單獨的一個
- 13. 讀int作爲獨立的數字
- 14. 如何將單個字符更改爲一個int在sml/nj
- 15. 將HTML更改爲INT onClick
- 16. 將ConsoleKeyInfo更改爲int
- 17. Java - 將int更改爲ascii
- 18. 如何更改UIImageView alpha onTouchMoved
- 19. 更改子視圖的alpha值而不更改父視圖的alpha值
- 20. 將列表<int>更改爲int []
- 21. 將int更改爲小數後如何更改PdfSharp控制器
- 22. 哪個更好 - (int)值或值爲int?
- 23. 將int更改爲double將我的結果更改爲零
- 24. 如何更改塊中的int值?
- 25. 如何將屬性值更改爲角度4指令
- 26. Cloud Foundry Service Registry(Eureka)失敗Blue-Green部署和路由路徑
- 27. 如何將Jrebel作爲獨立運行?
- 28. 如何將兩個獨立的makefile合併爲一個程序?
- 29. Python的扭曲:更改目錄爲每個客戶端獨立
- 30. 如何將int數組更改爲一個字符串數組?
你是絕對驚人!謝謝!哦,發現一個小問題,這個命令有點關閉,這裏是我的語法: int newRGB = alpha; newRGB =(newRGB << 8)+ red; newRGB =(newRGB << 8)+ green; newRGB =(newRGB << 8)+ green; newRGB =(newRGB << 8)+ blue; –
你的位移是錯誤的,'Color'沒有'toRGB'。我堅信,儘可能避免按位操作,並且「顏色」允許人們這樣做。 –
從JDK1.0開始'Color'具有'getRGB()'?它返回'int'。請參閱http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#getRGB%28%29。 –