如果存在整數值,例如。 86那麼我如何從這個整數值中提取r,g,b分量......? 我正在使用Visual C++ 2008快速版。 謝謝..從整數值中提取rgb顏色分量
2
A
回答
10
通常(我經常重複,因爲你沒有在你的問題中指定太多),顏色被打包在一個4字節的整數與RGBA組件。
你需要做的是面具和轉移,例如:
int color = 0xRRGGBBAA;
u8 red = (color & 0xFF000000) >> 24;
u8 green = (color & 0x00FF0000) >> 16;
u8 blue = (color & 0x0000FF00) >> 8;
這是假設的那種我指定的編碼,但可以根據您的修改。
編輯: 在你的例子中,你談到了0-255的值。目前尚不清楚組件是否爲2位大小(每個組件有4個強度值)。
在這種情況下,該方法仍然是相同的,但你將有隻有幾顏色:
u8 color = 86;
// so you take 2 bits and multiply by 64 to possibly have intensities: 0, 64, 128, 192
u8 red = ((color & 0xC0) >> 6) * 64;
u8 green = ((color & 0x30) >> 4) * 64;
u8 blue = ((color & 0x0C) >> 2) * 64;
EDIT2:也許你的顏色索引調色板,在這種情況下,你應該有一個陣列,存儲調色板本身和從文件中讀取的字節應該是存儲在別處的顏色索引。
+0
謝謝! – JAYMIN
0
通常情況下,您想使用RGB
宏從三個組件創建顏色。假設您擁有的值是相同的格式,您可以使用GetRValue
,GetGValue
和GetBValue
將其拆回個別部分。
相關問題
- 1. 如何計算RGB顏色中的顏色分量「數量」
- 2. 將整數顏色值轉換爲RGB
- 3. 如何從Android主題中提取顏色值(#rgb)?
- 4. MagiC++ RGB顏色值
- 5. RGB LED - 顏色值
- 6. 插值RGB顏色
- 7. 如何從顏色變量獲取RGB值
- 8. 如何從顏色表示爲整數的RGB值?
- 9. direct2d中顏色的RGB值
- 10. 顏色分解到它的RGB值
- 11. 從UIColors中獲取RGB值從十六進制顏色派生
- 12. 獲取r,g,b中rgb()格式的顏色分量
- 13. 從圖像中獲取RGB顏色百分比
- 14. 匹配CSS RGB顏色值
- 15. 在Objective C問題中從UIImage獲取RGB值顏色
- 16. 從不同顏色的圖像中獲取RGB值
- 17. 提取樣式背景顏色RGB值的XPATH?
- 18. 從ColorModel獲取RGB分量
- 19. 使用顏色包從RGB值創建新顏色?
- 20. 從數值中獲取顏色值
- 21. 將整數轉換爲位圖顏色RGB值C++
- 22. 確定的規則:涉及整數值顏色#RGB
- 23. Javascript中的RGB透明顏色值
- 24. 隱蔽顏色的RGB值在Java中
- 25. JavaFX的 - 從節點的顏色RGB獲取填充值
- 26. 更改rgb顏色值以表示值
- 27. 從pdf中識別rgb和cmyk顏色
- 28. 無法將青色的整數顏色轉換爲RGB
- 29. 如何將圖像顏色從RGB 24位量化爲RGB 6位(64色)?
- 30. 從RGB顏色空間中減去另一種顏色
在這個整數首先編碼的RGB組件是如何? –
讓我解釋什麼,我已經uptil現在做... 我看了文件內容轉換成字節數組, 所以現在的字節數組從0值有 - 255, 現在我有一個圖片來顯示這些數組值控制, 所以我用, 位圖^ bmp; BMP-> SetPixel(I,J,顏色:: FromArgb(BUF [COUNT]); // BUF是字節數組 但是這個代碼不顯示任何內容,所以 我發現,也許如果我提取rgb組件,並將它們作爲參數在Color :: FromArbg(int red,int green,int blue)中, 那麼它可能會工作.. 例如,如果我有值86,那麼我如何從它獲得rgb組件? – JAYMIN