GDI+学习记录(15)-路径渐变画刷

来源:互联网 发布:门户网站的优化 编辑:程序博客网 时间:2024/05/17 04:04

       同线性渐变画刷相比,路径渐变画刷的最大特点在于:线性渐变画刷的渐变方向比较单一(水平,垂直,固定角度),而路径渐变画刷的渐变方向是从路径中央到路径边缘,是一种呈发散状的渐变,所以在使用路径渐变画刷填充目标区域前,处理需要指定对象外,还要指定路径的中心点颜色以及路径边界的颜色。

下面为路径渐变画刷的基本使用,构建一个中心点为红色的五角星:

 

 private void Form1_Paint(object sender, PaintEventArgs e)        {            Graphics g = e.Graphics;            g.Clear(Color.White);            //构造五星的10个边的端点坐标            Point[] points =            {                new Point(75,0),new Point(100,50),                new Point(150,50),new Point(112,75),                new Point(150,150),new Point(75,100),                new Point(0,150),new Point(37,75),                new Point(0,50),new Point(50,50),                new Point(75,0)            };            //创建路径            GraphicsPath path = new GraphicsPath();            //在路径中添加直线            path.AddLines(points);            //创建路径渐变画刷            PathGradientBrush pathBrush = new PathGradientBrush(path);            //设置中心点颜色            pathBrush.CenterColor = Color.Red;            //设置每个端点的色彩            Color[] colors =            {              Color.Black,Color.Green,              Color.Blue,Color.White,              Color.Black,Color.Green,              Color.Blue,Color.White,              Color.Black,Color.Green            };            //设置路径渐变画刷的边缘色            pathBrush.SurroundColors = colors;            g.TranslateTransform(100,100);            g.FillPath(pathBrush,path);            //显示释放资源            path.Dispose();            pathBrush.Dispose();        }


效果图: