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个参数的值 展开
或者Color.FromARBG(111,111,111)如何把括号里面的3个参数转换成1个参数的值 展开
2个回答
展开全部
利用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;
}
}
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;
}
}
展开全部
用 Color.ToArgb()
见 http://msdn.microsoft.com/zh-SG/library/system.drawing.color.toargb
我建议你用web的格式去存储颜色
见:http://msdn.microsoft.com/zh-SG/library/system.drawing.colortranslator.fromhtml(v=vs.90)
见 http://msdn.microsoft.com/zh-SG/library/system.drawing.color.toargb
我建议你用web的格式去存储颜色
见:http://msdn.microsoft.com/zh-SG/library/system.drawing.colortranslator.fromhtml(v=vs.90)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询