Малювання фігур у 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#

Нижче наведено кроки, щоб намалювати еліпс у 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#

Нижче наведено кроки для малювання дуги в 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#

Нижче наведено кроки, щоб намалювати прямокутник у 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#

C# .NET Image Drawing API - Отримайте безкоштовну ліцензію

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

Висновок

У цій статті ви навчилися малювати фігури в C#. Ми розповіли, як програмно малювати лінії, еліпси, дуги та прямокутники на зображеннях. Ви можете легко інтегрувати надані зразки коду у свої програми C#.

Детальніше

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

Дивись також