2013-07-19 48 views
10

我正在使用SSRS reportviewer来使用对象生成报告。在我的程序中,我要求用户输入一串常用颜色,如"Red",“Blue"”等。然后,我想生成三种颜色的阴影,并使用此颜色填充报告中的面积图。我这样做我改变颜色的透明度(阿尔法)如何更改c中颜色的透明度#

这是我的代码,该字符串转换成颜色:

newitem.ChartColor = "red"; 
Color mycolor = Color.FromName(newitem.ChartColor); 

不过,现在我想产生两个以上的颜色与同色光作为红色但不同的阿尔法(不透明度),使它们看起来更轻,类似#56FF0000

我尝试将值传递给Color的A属性,但它是只读的。

任何帮助表示赞赏。

回答

3

您可以使用此功能

static Color SetTransparency(int A, Color color) 
    { 
     return Color.FromArgb(A, color.R, color.G, color.B); 
    } 
+0

我不认为'SetTransparency'是一个明确的名称。它不会改变现有颜色的属性,而是创建并返回一个新的颜色。 – DaveInCaz

1

我认为需要包含这些答案中什么是阿尔法值表示的颜色是如何透明0是最透明,255是最不透明的。这里是一个总结:

     A L P H A V A L U E 
0 [<--- most transparent] ... ... ... [most opaque --->] 255 
相关问题