如何将颜色名称转换为相应的十六进制表示?

问题描述 投票:5回答:5

例如:

blue 

转换为:

#0000FF

我把它写成:

Color color = Color.FromName("blue");

但我不知道如何获得十六进制表示。

c# .net winforms hex
5个回答
15
投票

你在那里的一半。使用qazxsw poi将其转换为数值,然后将其格式化为十六进制值。

.ToArgb

4
投票
int ColorValue = Color.FromName("blue").ToArgb();
string ColorHex = string.Format("{0:x6}", ColorValue);

要不就

var rgb = color.ToArgb() & 0xFFFFFF; // drop A component
var hexString = String.Format("#{0:X6}", rgb);

3
投票
var hexString = String.Format("#{0:X2}{1:X2}{2:X2}", color.R, color.G, color.B);

//认真:)这很简单:

{
    Color color = Color.FromName("blue");
    byte g = color.G;
    byte b = color.B;
    byte r = color.R;
    byte a = color.A;
    string text = String.Format("Color RGBA values: red:{0x}, green: {1}, blue {2}, alpha: {3}", new object[]{r, g, b, a});

3
投票

艾哈迈德的答案很接近,但根据你的评论,我只会补充一点。

应该使这项工作的代码是:

    string hex = String.Format("#{0:x2}{1:x2}{2:x2}", new object[]{r, g, b}); 

}

现在,您可以使用字符串myHexString执行任何操作。


0
投票

你可以使用Color color = Color.FromName("blue"); string myHexString = String.Format("#{0:X2}{1:X2}{2:X2}", color.R, color.G, color.B); 包:

gplots

library(gplots) col2hex("blue") # [1] "#0000FF"

https://cran.r-project.org/web/packages/gplots/index.html包里面,gplots函数的代码是:

col2hex
© www.soinside.com 2019 - 2024. All rights reserved.