PolygonShape

PolygonShape class

表示多边形形状。

public class PolygonShape : Shape, IOrderedShape

构造函数

姓名描述
PolygonShape()初始化PolygonShape类.
PolygonShape(PointF[])初始化PolygonShape类.
PolygonShape(PointF[], bool)初始化PolygonShape类.

特性

姓名描述
override Bounds { get; }获取对象的边界。
override Center { get; }获取形状的中心。
virtual EndPoint { get; }获取结束形状点。
override HasSegments { get; }获取一个表示形状是否有段的值。
IsClosed { get; set; }获取或设置一个表示形状是否闭合的值。
Points { get; set; }获取或设置曲线点。
override Segments { get; }获取形状段。
virtual StartPoint { get; }获取起始形状点。

方法

姓名描述
override GetBounds(Matrix)获取对象的边界。
override GetBounds(Matrix, Pen)获取对象的边界。
Reverse()反转此形状的点顺序。
override Transform(Matrix)将指定的变换应用于形状。

例子

此示例创建一个新 Image 并在 Image 表面上使用 Figures 和 GraphicsPath 绘制各种形状

[C#]

//创建一个BmpOptions实例并设置它的各种属性            
Aspose.Imaging.ImageOptions.BmpOptions bmpOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
bmpOptions.BitsPerPixel = 24;

//创建一个 FileCreateSource 的实例并将其分配为 BmpOptions 实例的 Source
//第二个布尔参数确定要创建的文件是否为IsTemporal
bmpOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(@"c:\temp\output.bmp", false);

//创建一个Image实例 
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(bmpOptions, 500, 500))
{
    //创建并初始化一个Graphics类的实例
    Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);

    //清除图形表面
    graphics.Clear(Color.Wheat);

    //创建GraphicsPath类的实例
    Aspose.Imaging.GraphicsPath graphicspath = new Aspose.Imaging.GraphicsPath();

    //创建一个Figure类的实例
    Aspose.Imaging.Figure figure1 = new Aspose.Imaging.Figure();

    //将形状添加到图形对象
    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));

    //创建一个Figure类的实例
    Aspose.Imaging.Figure figure2 = new Aspose.Imaging.Figure();

    //将形状添加到图形对象
    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))));

    //将Figure对象添加到GraphicsPath
    graphicspath.AddFigures(new[] { figure1, figure2 });

    //使用颜色为黑色的 Pen 对象绘制路径
    graphics.DrawPath(new Pen(Aspose.Imaging.Color.Black, 2), graphicspath);

    // 保存所有更改。
    image.Save();
}

也可以看看