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

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

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

 

 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();
        }


效果图:

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值