上图是一条曲线,如何才能画出上述线型效果?类型管道的效果。

解决方案 »

  1.   


    能看到图片吗?CSDN的相册不能上传图片
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/ms747393.aspx
    http://msdn.microsoft.com/zh-cn/library/ms754083#lineargradientbrush
    http://msdn.microsoft.com/zh-cn/library/ms749021
    http://msdn.microsoft.com/zh-cn/library/aa970904
      

  3.   

    使用一个 lineargradientbrush 画刷来调用 drawpath 就行了
      

  4.   

    请问具体怎么操作?我只会让它随一个方向渐变,不知道怎么让它随曲线变化的方向渐变。        void DrawPath(Graphics g)
            {
                Point x = new Point(100, 100), y = new Point(300, 300), z = new Point(300, 100);
                GraphicsPath gp = new GraphicsPath();
                gp.AddLines(new Point[] { x, y, z });
                LinearGradientBrush lgb = new LinearGradientBrush(new Point(0, 0), new Point(10, 0), Color.Red, Color.Blue);
                float[] myFactors = { .2f, .4f, .8f, .8f, .4f, .2f };
                float[] myPositions = { 0.0f, .2f, .4f, .6f, .8f, 1.0f };
                Blend myBlend = new Blend();
                myBlend.Factors = myFactors;
                myBlend.Positions = myPositions;
                lgb.Blend = myBlend;
                lgb.GammaCorrection = true;
                using (Pen pen = new Pen(lgb, 10))
                {
                    g.DrawPath(pen, gp);
                }
            }
      

  5.   

    imagebrush可以根据任意曲线来实时填充线型吗?请问具体该怎么操作?