c# 如何将Color转换为只有1个参数的整形数值?

Color的参数有1个的,有3个的,还有4个的,比如Color.Red,如何知道Red的16进制数值是多少?或者Color.FromARBG(111,111,111)如何... Color的参数有1个的,有3个的,还有4个的,比如Color.Red,如何知道Red的16进制数值是多少?
或者Color.FromARBG(111,111,111)如何把括号里面的3个参数转换成1个参数的值
展开
 我来答
laom75
高粉答主

推荐于2016-04-23 · 关注我不会让你失望
知道大有可为答主
回答量:4.6万
采纳率:84%
帮助的人:5170万
展开全部
利用Color.ToArgb 方法可实现。

Color.ToArgb():获取此 Color 结构的 32 位 ARGB 值。
命名空间: System.Drawing
程序集: System.Drawing(在 System.Drawing.dll 中)
publicint ToArgb()

返回值
类型:System.Int32
此 Color 的 32 位ARGB 值。

备注:32 位 ARGB 值的字节顺序为 AARRGGBB。 由 AA 表示的最高有效字节 (MSB) 是 alpha 分量值。 分别由 RR、GG 和 BB 表示的第二、第三和第四个字节分别为红色、绿色和蓝色颜色分量。

示例:
下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse(这是 Paint 事件处理程序的参数)。 代码执行下列操作:
· 循环访问 KnownColor 枚举元素以找到所有具有非零绿色分量和零值红色分量、且不是系统颜色的已知颜色。在每次迭代期间,如果 KnownColor 元素与条件匹配,则将该元素保存到数组中。使用画笔绘制矩形。每个矩形都绘制为与第一个项目符号中所述的条件匹配的 KnownColor。 还显示 KnownColor 的名称及其分量值。该示例显示某些已知颜色、颜色的名称及其四个分量值。 ToArgb 方法用作显示分量值的预备步骤。

publicvoid ToArgbToStringExample1(PaintEventArgs e)
{
Graphics g = e.Graphics;

// Color structure used for temporary storage.
Color someColor = Color.FromArgb(0);

// Array to store KnownColor values that match the criteria.
KnownColor[] colorMatches = new KnownColor[167];

// Number of matches found.
int count = 0;

// Iterate through the KnownColor enums to find all corresponding colors
// that have a nonzero green component and zero-value red component and
// that are not system colors.
for (KnownColor enumValue = 0;
enumValue <= KnownColor.YellowGreen; enumValue++)
{
someColor = Color.FromKnownColor(enumValue);
if (someColor.G != 0 && someColor.R == 0 && !someColor.IsSystemColor)
colorMatches[count++] = enumValue;
}
SolidBrush myBrush1 = new SolidBrush(someColor);
Font myFont = new Font("Arial", 9);
int x = 40;
int y = 40;

// Iterate through the matches that were found and display each color that
// corresponds with the enum value in the array. also display the name of
// the KnownColor and the ARGB components.
for (int i = 0; i < count; i++)
{

// Display the color.
someColor = Color.FromKnownColor(colorMatches[i]);
myBrush1.Color = someColor;
g.FillRectangle(myBrush1, x, y, 50, 30);

// Display KnownColor name and the four component values. To display the
// component values: Use the ToArgb method to get the 32-bit ARGB value
// of someColor, which was created from a KnownColor. Then create a
// Color structure from the 32-bit ARGB value and set someColor equal to
// this new Color structure. Then use the ToString method to convert it to
// a string.
g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 55, y);
someColor = Color.FromArgb(someColor.ToArgb());
g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 55, y + 15);
y += 40;
}
}
fej121121
推荐于2016-01-17 · TA获得超过651个赞
知道小有建树答主
回答量:655
采纳率:66%
帮助的人:535万
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式