Class PolygonShape

Class PolygonShape

Namespace: Aspose.Imaging.Shapes
Assembly: Aspose.Imaging.dll (25.4.0)

Represents a polygon shape.

public class PolygonShape : Shape, IOrderedShape

Inheritance

objectObjectWithBoundsShapePolygonShape

Derived

BezierShape, CurveShape

Implements

IOrderedShape

Inherited Members

Shape.Equals(object), Shape.GetHashCode(), Shape.Equals(Shape), Shape.Center, Shape.Segments, Shape.HasSegments, ObjectWithBounds.GetBounds(Matrix), ObjectWithBounds.GetBounds(Matrix, Pen), ObjectWithBounds.Transform(Matrix), ObjectWithBounds.Equals(object), ObjectWithBounds.GetHashCode(), ObjectWithBounds.Equals(ObjectWithBounds), ObjectWithBounds.Bounds, object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Examples

This example creates a new Image and draws a variety of shapes using Figures and GraphicsPath on the Image surface

//Creates an instance of BmpOptions and set its various properties            
                                                                                                                             Aspose.Imaging.ImageOptions.BmpOptions bmpOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
                                                                                                                             bmpOptions.BitsPerPixel = 24;

                                                                                                                             //Create an instance of FileCreateSource and assign it as Source for the instance of BmpOptions
                                                                                                                             //Second Boolean parameter determines if the file to be created IsTemporal or not
                                                                                                                             bmpOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(@"c:\temp\output.bmp", false);

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

                                                                                                                                 //Clear Graphics surface
                                                                                                                                 graphics.Clear(Color.Wheat);

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

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

                                                                                                                                 //Add Shape to Figure object
                                                                                                                                 figure1.AddShape(new Aspose.Imaging.Shapes.EllipseShape(new RectangleF(50, 50, 300, 300)));
                                                                                                                                 figure1.AddShape(new Aspose.Imaging.Shapes.PieShape(new Rectangle(new Point(110, 110), new Size(200, 200)), 0, 90));

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

                                                                                                                                 //Add Shape to Figure object
                                                                                                                                 figure2.AddShape(new Aspose.Imaging.Shapes.ArcShape(new Aspose.Imaging.RectangleF(10, 10, 300, 300), 0, 45));
                                                                                                                                 figure2.AddShape(new Aspose.Imaging.Shapes.PolygonShape(new[] { new Aspose.Imaging.PointF(150, 10), new Aspose.Imaging.PointF(150, 200), new Aspose.Imaging.PointF(250, 300), new Aspose.Imaging.PointF(350, 400) }, true));
                                                                                                                                 figure2.AddShape(new Aspose.Imaging.Shapes.RectangleShape(new Aspose.Imaging.RectangleF(new Aspose.Imaging.Point(250, 250), new Aspose.Imaging.Size(200, 200))));

                                                                                                                                 //Add Figure object to GraphicsPath
                                                                                                                                 graphicspath.AddFigures(new[] { figure1, figure2 });

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

                                                                                                                                 // save all changes.
                                                                                                                                 image.Save();
                                                                                                                             }

Constructors

PolygonShape()

Initializes a new instance of the Aspose.Imaging.Shapes.PolygonShape class.

[JsonConstructor]
public PolygonShape()

PolygonShape(PointF[])

Initializes a new instance of the Aspose.Imaging.Shapes.PolygonShape class.

public PolygonShape(PointF[] points)

Parameters

points PointF[]

The points array.

PolygonShape(PointF[], bool)

Initializes a new instance of the Aspose.Imaging.Shapes.PolygonShape class.

public PolygonShape(PointF[] points, bool isClosed)

Parameters

points PointF[]

The points array.

isClosed bool

If set to true the polygon is closed.

Examples

This example creates a new Image and draws a variety of shapes using Figures and GraphicsPath on the Image surface

//Creates an instance of BmpOptions and set its various properties            
                                                                                                                             Aspose.Imaging.ImageOptions.BmpOptions bmpOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
                                                                                                                             bmpOptions.BitsPerPixel = 24;

                                                                                                                             //Create an instance of FileCreateSource and assign it as Source for the instance of BmpOptions
                                                                                                                             //Second Boolean parameter determines if the file to be created IsTemporal or not
                                                                                                                             bmpOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(@"c:\temp\output.bmp", false);

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

                                                                                                                                 //Clear Graphics surface
                                                                                                                                 graphics.Clear(Color.Wheat);

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

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

                                                                                                                                 //Add Shape to Figure object
                                                                                                                                 figure1.AddShape(new Aspose.Imaging.Shapes.EllipseShape(new RectangleF(50, 50, 300, 300)));
                                                                                                                                 figure1.AddShape(new Aspose.Imaging.Shapes.PieShape(new Rectangle(new Point(110, 110), new Size(200, 200)), 0, 90));

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

                                                                                                                                 //Add Shape to Figure object
                                                                                                                                 figure2.AddShape(new Aspose.Imaging.Shapes.ArcShape(new Aspose.Imaging.RectangleF(10, 10, 300, 300), 0, 45));
                                                                                                                                 figure2.AddShape(new Aspose.Imaging.Shapes.PolygonShape(new[] { new Aspose.Imaging.PointF(150, 10), new Aspose.Imaging.PointF(150, 200), new Aspose.Imaging.PointF(250, 300), new Aspose.Imaging.PointF(350, 400) }, true));
                                                                                                                                 figure2.AddShape(new Aspose.Imaging.Shapes.RectangleShape(new Aspose.Imaging.RectangleF(new Aspose.Imaging.Point(250, 250), new Aspose.Imaging.Size(200, 200))));

                                                                                                                                 //Add Figure object to GraphicsPath
                                                                                                                                 graphicspath.AddFigures(new[] { figure1, figure2 });

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

                                                                                                                                 // save all changes.
                                                                                                                                 image.Save();
                                                                                                                             }

Properties

Bounds

Gets the object’s bounds.

[JsonIgnore]
public override RectangleF Bounds { get; }

Property Value

RectangleF

Center

Gets the shape’s center.

[JsonIgnore]
public override PointF Center { get; }

Property Value

PointF

EndPoint

Gets the ending shape point.

[JsonIgnore]
public virtual PointF EndPoint { get; }

Property Value

PointF

HasSegments

Gets a value indicating whether shape has segments.

[JsonIgnore]
public override bool HasSegments { get; }

Property Value

bool

IsClosed

Gets or sets a value indicating whether shape is closed.

[JsonProperty]
public bool IsClosed { get; set; }

Property Value

bool

Points

Gets or sets the curve points.

[JsonProperty]
public PointF[] Points { get; set; }

Property Value

PointF[]

Segments

Gets the shape segments.

[JsonIgnore]
public override ShapeSegment[] Segments { get; }

Property Value

ShapeSegment[]

StartPoint

Gets the starting shape point.

[JsonIgnore]
public virtual PointF StartPoint { get; }

Property Value

PointF

Methods

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object obj)

Parameters

obj object

The compared object.

Returns

bool

The result of equals

Equals(PolygonShape)

Check if objects are equal.

protected bool Equals(PolygonShape other)

Parameters

other PolygonShape

The other object.

Returns

bool

The equality comparison result.

GetBounds(Matrix)

Gets the object’s bounds.

public override RectangleF GetBounds(Matrix matrix)

Parameters

matrix Matrix

The matrix to apply before bounds will be calculated.

Returns

RectangleF

The estimated object’s bounds.

GetBounds(Matrix, Pen)

Gets the object’s bounds.

public override RectangleF GetBounds(Matrix matrix, Pen pen)

Parameters

matrix Matrix

The matrix to apply before bounds will be calculated.

pen Pen

The pen to use for object. This can influence the object’s bounds size.

Returns

RectangleF

The estimated object’s bounds.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

Reverse()

Reverses the order of points for this shape.

public void Reverse()

Transform(Matrix)

Applies the specified transformation to the shape.

public override void Transform(Matrix transform)

Parameters

transform Matrix

The transformation to apply.