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)Применяет указанное преобразование к фигуре.

Примеры

В этом примере создается новое изображение и рисуются различные фигуры с помощью Figures и GraphicsPath на поверхности изображения.

[C#]

//Создает экземпляр BmpOptions и устанавливает его различные свойства            
Aspose.Imaging.ImageOptions.BmpOptions bmpOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
bmpOptions.BitsPerPixel = 24;

//Создаем экземпляр FileCreateSource и назначаем его в качестве источника для экземпляра BmpOptions
//Второй логический параметр определяет, является ли создаваемый файл временным или нет
bmpOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(@"c:\temp\output.bmp", false);

//Создаем экземпляр изображения 
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();

    // Добавляем фигуру к объекту 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();

    // Добавляем фигуру к объекту 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();
}

Смотрите также