Class PolygonShape
Namespace: Aspose.Imaging.Shapes
Assembly: Aspose.Imaging.dll (25.4.0)
Represents a polygon shape.
public class PolygonShape : Shape, IOrderedShape
Inheritance
object ← ObjectWithBounds ← Shape ← PolygonShape
Derived
Implements
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
Center
Gets the shape’s center.
[JsonIgnore]
public override PointF Center { get; }
Property Value
EndPoint
Gets the ending shape point.
[JsonIgnore]
public virtual PointF EndPoint { get; }
Property Value
HasSegments
Gets a value indicating whether shape has segments.
[JsonIgnore]
public override bool HasSegments { get; }
Property Value
IsClosed
Gets or sets a value indicating whether shape is closed.
[JsonProperty]
public bool IsClosed { get; set; }
Property Value
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
StartPoint
Gets the starting shape point.
[JsonIgnore]
public virtual PointF StartPoint { get; }
Property Value
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
The result of equals
Equals(PolygonShape)
Check if objects are equal.
protected bool Equals(PolygonShape other)
Parameters
other
PolygonShape
The other object.
Returns
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
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
The estimated object’s bounds.
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
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.