解决方案 »

  1.   

    多段式渐变填充,页面放一个 Panel,设置 Paint 事件
    private void panel1_Paint(object sender, PaintEventArgs e)
    {
        Rectangle ellipseRect2 = e.ClipRectangle;
        Point startPoint2 = new Point(0, 0);
        Point endPoint2 = new Point(ellipseRect2.Width, 0);
        float[] myFactors = { 0, 0.8f, 0.2f, 0.8f, 0, 1, 0.2f, 1, 0.2f, 1, 0.9f};
        float[] myPositions = { 0.0f, .1f, 0.2f, 0.3f, .55f, 0.6f, .75f, .82f, 0.9f, 0.96f, 1.0f };
        Blend myBlend = new Blend();
        myBlend.Factors = myFactors;
        myBlend.Positions = myPositions;
        LinearGradientBrush lgBrush2 = new LinearGradientBrush(
            startPoint2,
            endPoint2,
            Color.Green,
            Color.Yellow);
        lgBrush2.Blend = myBlend;
        e.Graphics.FillRectangle(lgBrush2, ellipseRect2);
    }
      

  2.   

    google 图片搜索 2d heat map
      

  3.   

    非常谢谢 tcmakebest  和 caozhy