Рисование фигур в C#

Часто требуется создавать различные графические объекты путем рисования фигур, включая круги, линии, прямоугольники и т. д. Эти фигуры также можно использовать для аннотаций к изображениям. В этой статье вы узнаете, как программно рисовать различные фигуры на C#. Мы покажем, как рисовать линии, эллипсы, дуги и прямоугольники и генерировать их изображения.

C# API для рисования фигур — скачать бесплатно

Для рисования различных типов фигур мы будем использовать Aspose.Imaging for .NET. Это потрясающий API для редактирования изображений, который предоставляет широкий спектр функций для управления изображениями и создания рисунков. Вы можете либо скачать API, либо установить его из NuGet.

PM> Install-Package Aspose.Imaging

Нарисуйте линию с помощью C#

Ниже приведены шаги для рисования линии в C#.

  • Сначала создайте объект класса BmpOptions и установите биты на пиксель с помощью свойства BitsPerPixel.
  • Затем назначьте StreamSource с помощью свойства Source.
  • Создайте новое изображение и инициализируйте его с помощью объекта BmpOptions, а также высоты и ширины изображения.
  • Создайте объект класса Graphics и инициализируйте его объектом Image.
  • Очистите поверхность изображения цветом, используя метод Graphics.Clear().
  • Нарисуйте линию, используя метод Graphics.DrawLine(Pen, int, int, int, int).
  • Сгенерируйте и сохраните изображение с помощью метода Image.Save().

В следующем примере кода показано, как нарисовать линию на C#.

// Создать BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Определите исходное свойство для экземпляра BmpOptions.
bmpCreateOptions.Source = new StreamSource();

// Создает экземпляр Image и вызывает метод create, передавая
// объект bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Создайте и инициализируйте экземпляр класса Graphics.
Graphics graphic = new Graphics(image);

// Очистить поверхность изображения белым цветом
graphic.Clear(Color.White);

// Нарисуйте пунктирную линию, указав объект Pen синего цвета и
// координаты точек
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// Нарисуйте непрерывную линию, задав объект Pen с Solid
// Кисть красного цвета с двумя точечными структурами
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// Нарисуйте непрерывную линию, задав объект Pen с Solid
// Кисть белого цвета с двумя точечными структурами
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// Сохранить все изменения
image.Save("draw_lines.bmp");

Ниже приведен вывод приведенного выше примера кода.

нарисовать линию в С#

Нарисовать эллипс с помощью C#

Ниже приведены шаги для рисования эллипса в C#.

  • Сначала создайте объект класса BmpOptions и установите биты на пиксель с помощью свойства BitsPerPixel.
  • Затем назначьте StreamSource с помощью свойства Source.
  • Создайте новое изображение и инициализируйте его с помощью объекта BmpOptions, а также высоты и ширины изображения.
  • Создайте объект класса Graphics и инициализируйте его объектом Image.
  • Очистите поверхность изображения цветом, используя метод Graphics.Clear().
  • Нарисуйте эллипс, используя метод Graphics.DrawEllipse(Pen, Rectangle).
  • Сгенерируйте и сохраните изображение с помощью метода Image.Save().

В следующем примере кода показано, как нарисовать эллипс на изображении в C#.

// Создать BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Определите исходное свойство для экземпляра BmpOptions.
bmpCreateOptions.Source = new StreamSource();

// Создает экземпляр Image и вызывает метод create, передавая
// объект bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Создайте и инициализируйте экземпляр класса Graphics.
Graphics graphic = new Graphics(image);

// Очистить поверхность изображения белым цветом
graphic.Clear(Color.White);

// Нарисуйте пунктирную форму эллипса, указав, что объект Pen имеет красный цвет.
// цвет и окружающий прямоугольник
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// Нарисуйте форму непрерывного эллипса, указав объект Pen, имеющий
// solid brush with blue цвет и окружающий прямоугольник
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Сохранить все изменения
image.Save("draw_ellipse.bmp");

Ниже приведен вывод приведенного выше примера кода.

нарисовать эллипс в С#

Нарисуйте дугу с помощью C#

Ниже приведены шаги для рисования дуги в C#.

  • Сначала создайте объект класса BmpOptions и установите биты на пиксель с помощью свойства BitsPerPixel.
  • Затем назначьте StreamSource с помощью свойства Source.
  • Создайте новое изображение и инициализируйте его с помощью объекта BmpOptions, а также высоты и ширины изображения.
  • Создайте объект класса Graphics и инициализируйте его объектом Image.
  • Очистите поверхность изображения цветом, используя метод Graphics.Clear().
  • Нарисуйте дугу, используя метод Graphics.DrawArc(Pen, float x, float y, float width, float height, float startAngle, float swingAngle).
  • Сгенерируйте и сохраните изображение с помощью метода Image.Save().

В следующем примере кода показано, как нарисовать дугу на изображении в C#.

// Создать BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Определите исходное свойство для экземпляра BmpOptions.
bmpCreateOptions.Source = new StreamSource();

// Создает экземпляр Image и вызывает метод create, передавая
// объект bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Создайте и инициализируйте экземпляр класса Graphics.
Graphics graphic = new Graphics(image);

// Очистить поверхность изображения белым цветом
graphic.Clear(Color.White);

// Нарисуйте пунктирную форму дуги, указав объект Pen, имеющий красный черный цвет.
// цвет и координаты, высота, ширина, начальный и конечный углы
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Нарисуйте дугу на экране
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// Сохранить все изменения
image.Save("draw_arc.bmp");

Ниже приведен вывод приведенного выше примера кода.

нарисовать дугу в C#

Нарисовать прямоугольник с помощью C#

Ниже приведены шаги для рисования прямоугольника в C#.

  • Сначала создайте объект класса BmpOptions и установите биты на пиксель с помощью свойства BitsPerPixel.
  • Затем назначьте StreamSource с помощью свойства Source.
  • Создайте новое изображение и инициализируйте его с помощью объекта BmpOptions, а также высоты и ширины изображения.
  • Создайте объект класса Graphics и инициализируйте его объектом Image.
  • Очистите поверхность изображения цветом, используя метод Graphics.Clear().
  • Нарисуйте прямоугольник, используя метод Graphics.DrawRectangle(Pen, Rectangle).
  • Сгенерируйте и сохраните изображение с помощью метода Image.Save().

В следующем примере кода показано, как нарисовать прямоугольник на изображении в C#.

// Создать BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Определите исходное свойство для экземпляра BmpOptions.
bmpCreateOptions.Source = new StreamSource();

// Создает экземпляр Image и вызывает метод create, передавая
// объект bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Создайте и инициализируйте экземпляр класса Graphics.
Graphics graphic = new Graphics(image);

// Очистить поверхность изображения белым цветом
graphic.Clear(Color.White);

// Нарисуйте фигуру пунктирного прямоугольника, указав, что объект Pen имеет красный цвет.
// цвет и прямоугольная структура
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// Нарисуйте непрерывную прямоугольную форму, указав объект Pen, имеющий
// solid brush with blue цвет и прямоугольная структура
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Сохранить все изменения
image.Save("draw_reactangle.bmp");

Ниже приведен вывод приведенного выше примера кода.

нарисовать прямоугольник в С#

C# .NET Image Drawing API — бесплатная лицензия

Вы можете получить бесплатную временную лицензию и рисовать фигуры без оценочных ограничений.

Вывод

В этой статье вы узнали, как рисовать фигуры на C#. Мы рассмотрели, как программно рисовать линии, эллипсы, дуги и прямоугольники на изображениях. Вы можете легко интегрировать предоставленные образцы кода в свои приложения C#.

Читать далее

Вы можете узнать больше об API обработки изображений .NET, используя документацию. Кроме того, вы можете поделиться с нами своими вопросами через наш форум.

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