Часто потрібно створювати різні графічні об’єкти, малюючи фігури, включаючи кола, лінії, прямокутники тощо. Ці форми також можна використовувати для анотації зображень. У цій статті ви дізнаєтеся, як програмно малювати різні фігури в 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);
// Намалюйте суцільну лінію, вказавши для об’єкта «Перо» суцільний колір
// Кисть з червоним кольором і двома точковими структурами
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
new Point(18, 18), new Point(18, 200));
// Намалюйте суцільну лінію, вказавши для об’єкта «Перо» суцільний колір
// Кисть з білим кольором і двома точковими структурами
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 sweepAngle).
- Створіть і збережіть зображення за допомогою методу 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 за допомогою документації. Крім того, ви можете поділитися своїми запитами з нами через наш форум.