C#

线性渐变LinearGradientBrush和GradientStop类

LinearGradientBrush指的是一个线性的坡度类,用它和GradientStop类可以为一个矩形区域填充渐变的颜色。

例如:

<!– This rectangle is painted with a diagonal linear gradient. –>
<rectangle Width=”200″ Height=”100″>
<rectangle.Fill>
<linearGradientBrush StartPoint=”0,0″ EndPoint=”1,1″>
<gradientStop Color=”Yellow” Offset=”0.0″ />
<gradientStop Color=”Red” Offset=”0.25″ />
<gradientStop Color=”Blue” Offset=”0.75″ />
<gradientStop Color=”LimeGreen” Offset=”1.0″ />
</linearGradientBrush>
</rectangle.Fill>
</rectangle>注意,(0,0)指的是矩形的左上角,(1,1)指的是矩形的左上角。所以颜色的渐变效果如下:对应的c#代码如下:
Rectangle diagonalFillRectangle = new Rectangle();
diagonalFillRectangle.Width = 200;
diagonalFillRectangle.Height = 100;// Create a diagonal linear gradient with four stops.
LinearGradientBrush myLinearGradientBrush =
new LinearGradientBrush();
myLinearGradientBrush.StartPoint = new Point(0,0);
myLinearGradientBrush.EndPoint = new Point(1,1);
myLinearGradientBrush.GradientStops.Add(
new GradientStop(Colors.Yellow, 0.0));
myLinearGradientBrush.GradientStops.Add(
new GradientStop(Colors.Red, 0.25));
myLinearGradientBrush.GradientStops.Add(
new GradientStop(Colors.Blue, 0.75));
myLinearGradientBrush.GradientStops.Add(
new GradientStop(Colors.LimeGreen, 1.0));
// Use the brush to paint the rectangle.
diagonalFillRectangle.Fill = myLinearGradientBrush;

同理,如果要创建水平方向的颜色渐变,设置StartPoint为(0,0.5),EndPoint为(1,0.5),如果要创建竖直方向的颜色渐变,设置StartPoint为(0.5,0),EndPoint为(0.5,1)。

分类: C#

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部