2017-05-29 62 views
-1

我需要通过取现有的并为其提供新的alpha值来创建新的颜色。文档说这个过载存在,但是当我尝试使用它时,IDE说没有这样的过载并且代码不会生成。我错过了什么?Color.FromArgb(int32,color)方法缺少超载

+2

这是一个Winforms方法,让IntelliSense弹出帮助您找到正确的方法。 –

+1

你怎么知道它是winforms方法?它在https://msdn.microsoft.com/en-us/library/1hstcth9(v=vs.110).aspx – Eugene

+0

中没有提及'System.Drawing'是一个WinForms命名空间。它是一个GDI +包装。您*可以*在WPF应用程序中使用它,但不应该。这是不工作的原因可能是因为你没有添加正确的参考。 –

回答

1

这有什么错

var c = Colors.Aqua; 
var newColor = new Color {A = 50, R=c.R, G=c.G,B=c.B}; 

我明白你想要过载,但据我所知一个不存在,你需要做以上。

+0

没什么不对,但我想要使用的超载更简单。虽然文档有点误导,所以我最终在这里问了一个问题。 – Eugene

+0

如果我想使用变量而不是int值,该怎么办?我应该投它还是另一种方式? – Eugene

+0

如果没有关于变量的更多信息,我不能说。但在一天结束时,它将需要一个整数。所以如果var是一个json或者xml等,它最终需要被转换成一个int来提供给Color类。 – Kelly