示例代码如下,
Chart.SerialsCollection(1).Point(1).Format.Fill.ForeColor = System.Drawing.Color.Red;
返回错误。不能隐式转换类型,一个是Struct,另一个是ColorFormat。
ForeColor.RGB是 Int 类型,我只能从Color.Red.R,Color.Red.G和Color.Red.B获得3个整数。如何将我想要的颜色分配给ForeColor属性?
答案 0 :(得分:0)
根据评论中的建议,使用ColorTranslator.ToOle
Chart.SerialsCollection(1).Point(1).Format.Fill.ForeColor.RGB = ColorTranslator.ToOle(Color.Red);
或者,输入RGB
值:
Chart.SerialsCollection(1).Point(1).Format.Fill.ForeColor.RGB = ColorTranslator.ToOle(Color.FromArgb(255, 0, 0);
一些其他信息,所以我不只是重复评论:
ForeColor.RGB
可以用十六进制表示为0xBBGGRR
(source)。知道了,你可以创建以下功能:
public int Color_to_RGB(Color color) {
return (color.B << 16) | (color.G << 8) | Color.R;
}
使用:
Chart.SerialCollection(1).Point(1).Format.Fill.ForeColor.RGB = Color_to_RGB(Color.Red);
另一个答案中使用的原因ToArgb()
不起作用,因为其十六进制表示为0xAARRGGBB
答案 1 :(得分:-1)
尝试RGB属性ForeColor.RGB
E.g。
Chart.SerialsCollection(1).Point(1).Format.Fill.ForeColor.RGB = System.Drawing.Color.Red.ToArgb();