Figure class

The figure. A container for shapes.

public class Figure : ObjectWithBounds


Figure()Initializes a new Figure instance. A constructor required for a JSON deserialization.


override Bounds { get; }Gets or sets the object’s bounds.
IsClosed { get; set; }Gets or sets a value indicating whether this figure is closed. A closed figure will make a difference only in case where the first and the last figure’s shapes are continuous shapes. In such case the first point of the first shape will be connected by a straight line from the last point of the last shape.
Segments { get; }Gets the whole figure segments.
Shapes { get; }Gets or sets the figure shapes.


AddShape(Shape)Adds a shape to the figure.
AddShapes(Shape[])Adds a range of shapes to the figure.
override Equals(object)Determines whether the specified object is equal to the current object.
override GetBounds(Matrix)Gets the object’s bounds.
override GetBounds(Matrix, Pen)Gets the object’s bounds.
override GetHashCode()Serves as the default hash function.
RemoveShape(Shape)Removes a shape from the figure.
RemoveShapes(Shape[])Removes a range of shapes from the figure.
Reverse()Reverses this figure shapes order and shapes point order.
override Transform(Matrix)Applies the specified transformation to the shape.


This examples make use of GraphicsPath and Graphics class to create and manipulate Figures on an Image surface. Example creates a new Image (of type Tiff), clears the surface and draws paths with the help of GraphicsPath class. At the end DrawPath method exposed by Graphics class is called to render the paths on surface.


//Create an instance of FileStream
using (System.IO.FileStream stream = new System.IO.FileStream(@"C:\temp\output.tiff", System.IO.FileMode.Create))
    //Create an instance of TiffOptions and set its various properties
    Aspose.Imaging.ImageOptions.TiffOptions tiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);

    //Set the source for the instance of ImageOptions
    tiffOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);

    //Create an instance of Image 
    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(tiffOptions, 500, 500))
        //Create and initialize an instance of Graphics class
        Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);

        //Clear Graphics surface

        //Create an instance of GraphicsPath class
        Aspose.Imaging.GraphicsPath graphicspath = new Aspose.Imaging.GraphicsPath();

        //Create an instance of Figure class
        Aspose.Imaging.Figure figure = new Aspose.Imaging.Figure();

        //Add Shapes to Figure object
        figure.AddShape(new Aspose.Imaging.Shapes.RectangleShape(new Aspose.Imaging.RectangleF(10f, 10f, 300f, 300f)));
        figure.AddShape(new Aspose.Imaging.Shapes.EllipseShape(new Aspose.Imaging.RectangleF(50f, 50f, 300f, 300f)));
        figure.AddShape(new Aspose.Imaging.Shapes.PieShape(new Aspose.Imaging.RectangleF(new Aspose.Imaging.PointF(250f, 250f), new Aspose.Imaging.SizeF(200f, 200f)), 0f, 45f));

        //Add Figure object to GraphicsPath

        //Draw path with Pen object of color Black
        graphics.DrawPath(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Black, 2), graphicspath);

        // save all changes.

See Also