誰能告訴我如何轉換3個int VALES r, g, b
到C#中的串色(十六進制值)如何RGB INT值轉換爲串色
6
A
回答
6
int red = 255;
int green = 255;
int blue = 255;
string theHexColor = "#" + red.ToString("X2") + green.ToString("X2") + blue.ToString("X2");
6
3
RGB到十六進制:
string hexColor = string.Format("0x{0:X8}", Color.FromArgb(r, g, b).ToArgb());
十六進制到RGB:
int rgbColor = int.Parse("FF", System.Globalization.NumberStyles.AllowHexSpecifier);
+1
給出錯誤:'System.Windows.Media.Color'不包含'ToArgb'的定義,並且沒有找到接受'System.Windows.Media.Color'類型的第一個參數的擴展方法'ToArgb'(你是否缺少using指令或程序集引用?) – saikamesh 2011-03-30 04:28:17
1
請查找以下擴展方法:
public static class ColorExtensions
{
public static string ToRgb(this int argb)
{
var r = ((argb >> 16) & 0xff);
var g = ((argb >> 8) & 0xff);
var b = (argb & 0xff);
return string.Format("{0:X2}{1:X2}{2:X2}", r, g, b);
}
}
和你在這裏的用法:
int colorBlack = 0x000000;
int colorWhite = 0xffffff;
Assert.That(colorBlack.ToRgb(), Is.EqualTo("000000"));
Assert.That(colorWhite.ToRgb(), Is.EqualTo("FFFFFF"));
0
解決此問題的一個PowerPoint形狀對象的Fill.ForeColor.RGB成員,我發現RGB值實際上是BGR(藍色,綠色,紅色),因此對於C#PowerPoint插件的解決方案,將Fill.ForeColor.RGB轉換爲字符串爲:
string strColor = "";
var b = ((shpTemp.Fill.ForeColor.RGB >> 16) & 0xff);
var g = ((shpTemp.Fill.ForeColor.RGB >> 8) & 0xff);
var r = (shpTemp.Fill.ForeColor.RGB & 0xff);
strColor = string.Format("{0:X2}{1:X2}{2:X2}", r, g, b);
-1
我所做的是以下幾點:
int reducedRed = getRed(long color)/128; // this gives you a number 1 or 0.
int reducedGreen = getGreen(long color)/128; // same thing for the green value;
int reducedBlue = getBlue(long color)/128; //same thing for blue
int reducedColor = reducedBlue + reducedGreen*2 + reducedRed*4 ;
// reduced Color is a number between 0 -7
一旦你有了reducedColor再到7
switch(reducedColor){
case 0: return "000000"; // corresponds to Black
case 1: return 「0000FF"; // corresponds to Blue
case 2: return "00FF00"; // corresponds to Green
case 3: return "00FFFF"; // corresponds to Cyan
case 4: return 「FF0000"; // corresponds to Red
case 5: return "FF00FF"; //corresponds to Purple
case 6: return "FFFF00"; //corresponds to Yellow
case 7: return 「FFFFFF"; //corresponds to White
}
Ø
相關問題
- 1. 如何將顏色值轉換爲RGB
- 2. 轉換RGB值轉換爲顏色
- 3. 如何在java中將rgb顏色轉換爲int
- 4. 的Java轉換0-255 INT-RGB色
- 5. C++,stl。將rgb顏色的字符串轉換爲3個int值?
- 6. 如何轉換爲int字符串值?
- 7. 如何將RGB轉換爲HTML顏色?
- 8. 將整數顏色值轉換爲RGB
- 9. 將8位顏色轉換爲RGB值
- 10. int值轉換爲顏色的梯度
- 11. 將字符串轉換爲顏色int
- 12. 如何將HTML顏色名稱轉換爲Ruby中的RGB值?
- 13. 如何禁用Firefox將所有顏色值轉換爲rgb?
- 14. 如何將MATLAB固定顏色轉換爲RGB值?
- 15. 如何將UIColor RGB顏色轉換爲uint32_t值
- 16. 如何將RGB值轉換爲Silverlight 4.0中的顏色名稱?
- 17. Java - 轉換字節[]爲int [] rgb
- 18. 將顏色RGB轉換爲HEX(int結果)
- 19. 將RGB值轉換爲HSV
- 20. 將0xFF轉換爲RGB值
- 21. 如何轉換Android的顏色爲int
- 22. 開發哈希算法:將RGB顏色ID和字符串轉換爲Int
- 23. 將十六進制顏色字符串轉換爲RGB顏色
- 24. 將字符串轉換爲int,int轉換爲字符串
- 25. 將字符串值轉換爲int
- 26. 如何十六進制顏色轉換爲RGB顏色(24位)
- 27. 將字符串轉換爲空值int
- 28. C++將顏色值字符串轉換爲int
- 29. 如何將字符串轉換爲int
- 30. 如何將字符串轉換爲Int?
alpha值呢? – Stecya 2011-03-29 18:47:07
取決於你的格式:即ARGB將簡單地把你的alpha.ToString(「X」)放在紅色的前面等等。重點在於ToString(「X」)方法將返回一個十六進制格式的整數值。 – Tejs 2011-03-29 18:48:26
比你的例子更好地寫'string color = string.Format(「#{0:X} {1:X} {2:X}」,r,g,b);' – Stecya 2011-03-29 18:51:37