System.Drawing.Graphics.FillPath C# (CSharp) Method

FillPath() public method

public FillPath ( Brush brush, GraphicsPath path ) : void
brush Brush
path System.Drawing.Drawing2D.GraphicsPath
return void
        public void FillPath(Brush brush, GraphicsPath path)
        {
            if (brush == null)
                throw new ArgumentNullException ("brush");
            if (path == null)
                throw new ArgumentNullException ("path");
            PlotPath (path);

            var fillMode = path.FillMode;
            if (path.isReverseWindingOnFill)
                fillMode = (fillMode == FillMode.Alternate) ? FillMode.Winding : FillMode.Alternate;

            FillBrush (brush, fillMode);
        }

Usage Example

Example #1
1
 // paramters:
 //      pen 绘制边框。可以为null,那样就整体一个填充色,没有边框
 //      brush   绘制填充色。可以为null,那样就只有边框
 public static void RoundRectangle(Graphics graphics,
     Pen pen,
     Brush brush,
     float x,
     float y,
     float width,
     float height,
     float radius)
 {
     using (GraphicsPath path = new GraphicsPath())
     {
         path.AddLine(x + radius, y, x + width - (radius * 2), y);
         path.AddArc(x + width - (radius * 2), y, radius * 2, radius * 2, 270, 90);
         path.AddLine(x + width, y + radius, x + width, y + height - (radius * 2));
         path.AddArc(x + width - (radius * 2), y + height - (radius * 2), radius * 2, radius * 2, 0, 90); // Corner
         path.AddLine(x + width - (radius * 2), y + height, x + radius, y + height);
         path.AddArc(x, y + height - (radius * 2), radius * 2, radius * 2, 90, 90);
         path.AddLine(x, y + height - (radius * 2), x, y + radius);
         path.AddArc(x, y, radius * 2, radius * 2, 180, 90);
         path.CloseFigure();
         if (brush != null)
             graphics.FillPath(brush, path);
         if (pen != null)
             graphics.DrawPath(pen, path);
     }
 }
All Usage Examples Of System.Drawing.Graphics::FillPath