/// <summary>
        /// 使用渐变色渲染矩形内部区域
        /// </summary>
        /// <param name="graphics">GDI+ 绘图图面</param>
        /// <param name="rect">存储一组整数,共四个,表示一个矩形的位置和大小</param>
        /// <param name="gradientColor">渐变颜色</param>
        public static void FillRectangle(Graphics graphics, Rectangle rect, AuroraGradientColor gradientColor)
        {
            if (rect.Width <= 0 || rect.Height <= 0 || graphics == null)
            {
                return;
            }

            using (LinearGradientBrush brush = new LinearGradientBrush(rect, gradientColor.FromColor, gradientColor.ToColor, gradientColor.GradientMode))
            {
                brush.Blend.Factors   = gradientColor.Factors;
                brush.Blend.Positions = gradientColor.Positions;
                graphics.FillRectangle(brush, rect);
            }
        }
        /// <summary>
        /// 使用渐变色渲染GraphicsPath内部区域
        /// </summary>
        /// <param name="graphics">GDI+ 绘图图面</param>
        /// <param name="graphicsPath">表示一系列相互连接的直线和曲线</param>
        /// <param name="rect">存储一组整数,共四个,表示一个矩形的位置和大小</param>
        /// <param name="gradientColor">渐变颜色</param>
        public static void FillPath(Graphics graphics, GraphicsPath graphicsPath, Rectangle rect, AuroraGradientColor gradientColor)
        {
            if (graphicsPath == null || graphics == null || rect.Width <= 0 || rect.Height <= 0)
            {
                return;
            }

            using (LinearGradientBrush brush = new LinearGradientBrush(rect, gradientColor.FromColor, gradientColor.ToColor, gradientColor.GradientMode))
            {
                brush.Blend.Factors   = gradientColor.Factors ?? (new float[] { });
                brush.Blend.Positions = gradientColor.Positions ?? (new float[] { });
                graphics.FillPath(brush, graphicsPath);
            }
        }
        /// <summary>
        /// 使用渐变色渲染GraphicsPath内部区域
        /// </summary>
        /// <param name="graphics">GDI+ 绘图图面</param>
        /// <param name="graphicsPath">表示一系列相互连接的直线和曲线</param>
        /// <param name="rect">存储一组整数,共四个,表示一个矩形的位置和大小</param>
        /// <param name="fColor">起始颜色</param>
        /// <param name="tColor">结束颜色</param>
        /// <param name="blend">色彩混合渲染方案</param>
        /// <param name="gradientMode">线性渐变模式</param>
        public static void FillPath(Graphics graphics, GraphicsPath graphicsPath, Rectangle rect, Color fColor, Color tColor, Blend blend, LinearGradientMode gradientMode)
        {
            AuroraGradientColor gradientColor = new AuroraGradientColor(fColor, tColor, gradientMode, blend);

            FillPath(graphics, graphicsPath, rect, gradientColor);
        }