
В моей предыдущей статье я дал вам обзор нашего .NET Graphics API — Aspose.Drawing for .NET. Наряду с этим мы увидели, как создавать изображения с нуля или рисовать графику на существующих изображениях с помощью C#. В этой статье мы сделаем шаг вперед и узнаем, как создавать 2D-чертежи, рисуя различные графические объекты в приложениях .NET, таких как веб-приложение ASP.NET, приложение Windows и т. д.
Ниже представлена векторная графика, которую мы собираемся рисовать на наших рисунках с помощью .NET Graphics API.
- Создание чертежа с помощью C#
- Нарисуйте дугу на чертеже
- Нарисуйте сплайн Безье на чертеже
- Нарисуйте кардинальный сплайн на чертеже
- Нарисуйте замкнутую кривую на чертеже
- Нарисуйте эллипс на чертеже
- Рисование линий на чертеже
- Нарисуйте путь на чертеже
- Нарисовать многоугольник на чертеже
- Нарисовать прямоугольник на чертеже
Прежде чем мы начнем, убедитесь, что Aspose.Drawing for .NET установлен в вашем приложении .NET. О способах установки можно прочитать в этом посте.
Создание чертежа с нуля с помощью C#
Прежде всего, давайте посмотрим, как создать пустой рисунок и сохранить его как изображение PNG. Шаги просты как пирог.
- Создайте новый объект Bitmap.
- Сохраните рисунок в формате PNG методом Bitmap.Save(string).
Вы также можете сохранить рисунок в других форматах изображений. В следующем примере кода показано, как создать рисунок с нуля с помощью C#.
// Пример создания нового рисунка на C# .NET и рендеринга в формате PNG.
// См. https://github.com/aspose-drawing/Aspose.Drawing-for-.NET и https://docs.aspose.com/drawing/net/ для получения дополнительных примеров.
// Создать новый рисунок
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// Сохранить рисунок
bitmap.Save(RunExamples.GetDataDir() + @"drawing.png");
Нарисуйте дугу в рисовании с помощью C#
Давайте посмотрим, как нарисовать дугу на чертеже. Ниже приведены шаги для выполнения этой операции.
- Определите экземпляр класса Bitmap.
- Инициализировать объект класса Graphics из объекта Bitmap.
- Создайте объект Pen для рисования дуги.
- Используйте метод Graphics.DrawArc(Pen, Single, Single, Single, Single, Single, Single) для рисования дуги.
- Сохраните рисунок как изображение, используя метод Bitmap.Save(string).
В следующем примере кода показано, как нарисовать дугу на чертеже с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawArc(pen, 0, 0, 700, 700, 0, 180);
bitmap.Save("DrawArc.png");

Нарисуйте сплайн Безье в рисовании с помощью C#
Ниже приведены шаги для рисования сплайна Безье на чертеже.
- Создайте объект класса Bitmap.
- Инициализировать объект класса Graphics из объекта Bitmap.
- Создайте объект Pen для рисования графики.
- Используйте метод Graphics.DrawBezier(Pen, PointF, PointF, PointF, PointF) для рисования сплайна Безье.
- Сохраните рисунок методом Bitmap.Save(string).
В следующем примере кода создается сплайн Безье с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
PointF p1 = new PointF(0, 0); // start point
PointF c1 = new PointF(0, 800); // first control point
PointF c2 = new PointF(1000, 0); // second control point
PointF p2 = new PointF(1000, 800); // end point
graphics.DrawBezier(pen, p1, c1, c2, p2);
bitmap.Save("DrawBezierSpline.png");

Добавьте кардинальный сплайн в чертеж с помощью C#
Используйте следующие шаги, чтобы нарисовать кардинальный сплайн с помощью нашего .NET Graphics API.
- Создайте экземпляр объекта класса Bitmap.
- Создайте объект класса Graphics из объекта Bitmap.
- Создайте объект Pen для рисования.
- Нарисуйте кардинальный сплайн, используя метод Graphics.DrawCurve(Pen,Point[]).
- Сохраните рисунок как изображение, используя метод Bitmap.Save(string).
Следующий пример кода C# рисует кардинальный сплайн с помощью Aspose.Drawing для .NET.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawCurve(pen, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });
bitmap.Save("DrawCardinalSpline.png");

Добавление замкнутой кривой на чертеж с помощью C#
Вы также можете нарисовать замкнутую кривую так же, как рисовали другие графические объекты. Ниже приведены шаги для этого.
- Создайте экземпляр объекта Bitmap.
- Создайте объект класса Graphics и инициализируйте его из объекта Bitmap.
- Создайте объект Pen для рисования замкнутой кривой.
- Нарисуйте замкнутую кривую, используя метод Graphics.DrawClosedCurve(Pen,Point[]).
- Сохраните рисунок методом Bitmap.Save(string).
Вы можете нарисовать замкнутую кривую, используя следующий пример кода C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawClosedCurve(pen, new Point[] { new Point(100, 700), new Point(350, 600), new Point(500, 500), new Point(650, 600), new Point(900, 700) });
bitmap.Save("DrawClosedCurve.png");

Нарисуйте эллипс на чертеже с помощью C#
Ниже приведены шаги по рисованию эллипса на чертеже с помощью Aspose.Drawing для .NET.
- Создайте экземпляр класса Bitmap.
- Определите экземпляр класса Graphics и инициализируйте его из объекта Bitmap.
- Используйте объект Pen, чтобы нарисовать эллипс.
- Нарисуйте эллипс, используя метод Graphics.DrawEllipse(Pen, Single, Single, Single, Single).
- Сохраните рисунок как изображение с помощью метода Bitmap.Save(string).
В следующем примере кода показано, как нарисовать эллипс с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawEllipse(pen, 10, 10, 900, 700);
bitmap.Save("DrawEllipse.png");

Рисование линий на чертеже с помощью C#
Линии являются одним из основных объектов для создания чертежей. Ниже приведены шаги для рисования линий на чертеже с использованием графического API Aspose.
- Создайте экземпляр объекта Bitmap.
- Создайте новый объект Graphics и инициализируйте его из объекта Bitmap.
- Определите объект Pen для рисования линии.
- Нарисуйте линию, используя метод Graphics.DrawLine(Pen, Int32, Int32, Int32, Int32).
- Сохраните рисунок методом Bitmap.Save(string).
В следующем примере кода показано, как рисовать линии на чертеже с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);
bitmap.Save("DrawLines.png");

Нарисуйте путь на чертеже с помощью C#
Ниже приведены шаги по рисованию контура на чертеже с помощью C#.
- Создайте экземпляр объекта Bitmap.
- Создайте объект класса Graphics и инициализируйте его из объекта Bitmap.
- Определите объект Pen для рисования пути.
- Создайте экземпляр класса GraphicsPath.
- Добавьте графику в коллекцию путей.
- Нарисуйте путь, используя метод Graphics.DrawPath(Pen, GraphicsPath).
- Сохраните рисунок методом Bitmap.Save(string).
В следующем примере кода показано, как нарисовать контур на чертеже с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
using System.Drawing.Drawing2D;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
GraphicsPath path = new GraphicsPath();
path.AddLine(100, 100, 1000, 400);
path.AddLine(1000, 600, 300, 600);
path.AddRectangle(new Rectangle(500, 350, 200, 400));
path.AddEllipse(10, 250, 450, 300);
graphics.DrawPath(pen, path);
bitmap.Save("DrawPath.png");

Нарисуйте многоугольник на чертеже с помощью C#
Ниже приведены шаги по рисованию многоугольника на чертеже с помощью Aspose.Drawing для .NET.
- Создайте экземпляр объекта Bitmap.
- Определите объект Graphics и инициализируйте его из объекта Bitmap.
- Определите объект Pen для рисования многоугольника.
- Нарисуйте многоугольник, используя метод Graphics.DrawPolygon(Pen,Point[]).
- Сохраните рисунок методом Bitmap.Save(string).
Вот как вы можете нарисовать многоугольник на чертеже с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });
bitmap.Save("DrawPolygon.png");

Нарисуйте прямоугольник на чертеже с помощью C#
И последнее, но не менее важное: рисование прямоугольника. Ниже приведены шаги для рисования прямоугольника.
- Создайте объект Bitmap.
- Создайте объект Graphics и инициализируйте его из объекта Bitmap.
- Определите объект Pen для рисования прямоугольника.
- Нарисуйте прямоугольник, используя метод Graphics.DrawRectangle(Pen, Int32, Int32, Int32, Int32).
- Сохраните рисунок методом Bitmap.Save(string).
В следующем примере кода C# рисуется прямоугольник на рисунке.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-drawing/Aspose.Drawing-for-.NET.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawRectangle(pen, 10, 10, 900, 700);
bitmap.Save("DrawRectangle.png");

Вывод
В этой статье мы увидели, как различные графические объекты можно рисовать на чертеже программно с помощью C#. В пошаговом руководстве и примерах кода показано, как рисовать линии, прямоугольники, многоугольники, дуги, сплайны Безье, кардинальные сплайны, кривые и эллипсы на чертежах. Вы можете узнать больше о нашем .NET Graphics API, используя документацию.