Часто требуется создавать различные графические объекты путем рисования фигур, включая круги, линии, прямоугольники и т. д. Эти фигуры также можно использовать для аннотаций к изображениям. В этой статье вы узнаете, как программно рисовать различные фигуры на C#. Мы покажем, как рисовать линии, эллипсы, дуги и прямоугольники и генерировать их изображения.
- C# API для рисования фигур — скачать бесплатно
- Нарисуйте линию с помощью C#
- Нарисовать эллипс с помощью C#
- Рисование дуги с помощью 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#.
- Сначала создайте объект класса 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, используя документацию. Кроме того, вы можете поделиться с нами своими вопросами через наш форум.