我正在尝试使用winforms中的多色对角渐变填充矩形,如下例所示:diagonal gradient 我知道这是一个WPF示例,但有可能在winforms中得到类似的结果吗?
答案 0 :(得分:10)
这是一个小例子
void MainFormPaint(object sender, PaintEventArgs e)
{
LinearGradientBrush br = new LinearGradientBrush(this.ClientRectangle, Color.Black, Color.Black, 0 , false);
ColorBlend cb = new ColorBlend();
cb.Positions = new[] {0, 1/6f, 2/6f, 3/6f, 4/6f, 5/6f, 1};
cb.Colors = new[] {Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet};
br.InterpolationColors= cb;
// rotate
br.RotateTransform(45);
// paint
e.Graphics.FillRectangle(br, this.ClientRectangle);
}
这是结果
希望这会有所帮助
答案 1 :(得分:0)
是的,您可以使用LinearGradientBrush
在使用GDI +的winforms中执行此操作。这是代码示例:http://www.codeproject.com/KB/GDI-plus/gdiplusbrushes.aspx