创建RadialGradientBrush

时间:2011-03-02 12:15:03

标签: wpf

我有颜色#FFECE9D8,#FF716F64如何创建渐变画笔

 RadialGradientBrush br = new RadialGradientBrush ();
 br.GradientStops.Add (new GradientStop ("# FFECE9D8", 0));
 br.GradientStops.Add (new GradientStop ("# FF716F64", 1));

跌落bug - 新的GradientStop(“#FF716F64”,1) - 可以包含一个字符串

3 个答案:

答案 0 :(得分:1)

您可以使用ColorConverter - 类将字符串转换为颜色。

RadialGradientBrush br = new RadialGradientBrush ();  
 br.GradientStops.Add (new GradientStop ((Color)ColorConverter.ConvertFromString("#FFECE9D8"), 0));  
 br.GradientStops.Add (new GradientStop ((Color)ColorConverter.ConvertFromString("#FF716F64"), 1)); 

答案 1 :(得分:1)

在代码而不是XAML中创建渐变时,不能使用字符串来指定颜色。只需使用Color.FromArgb()。

你的例子就变成了这个:

RadialGradientBrush br = new RadialGradientBrush();
br.GradientStops.Add(new GradientStop(Color.FromArgb(0xFF, 0xEC, 0xE9, 0xD8), 0)); 
br.GradientStops.Add(new GradientStop(Color.FromArgb(0xFF, 0x71, 0x6F, 0x64), 1));

答案 2 :(得分:0)

Constructor of GradientStop期望Color,而不是字符串。您可以执行以下操作:

new GradientStop(Color.FromArgb(0xFF, 0xEC, 0xE9, 0xD8), 0);