Обрезка изображения, также известная как маскирование изображения или извлечение объекта, представляет собой метод, используемый в графическом дизайне и обработке изображений. Он используется для выделения определенных объектов или предметов из изображения. В этой статье мы рассмотрим реализацию отсечения изображений на C#. Изучите пошаговые методы извлечения объектов и улучшения ваших проектов.
В этой статье должны быть раскрыты следующие темы:
- C# API обрезки изображений — скачать бесплатно
- Как реализовать отсечение изображений C#
- Извлечь объект из изображения в C#
- Бесплатные учебные ресурсы
C# API обрезки изображений — скачать бесплатно
Для реализации обрезки изображений на C# мы будем использовать API Aspose.Drawing for .NET. Это кроссплатформенная библиотека 2D-графики для программного рисования текста, геометрии и изображений. Он позволяет загружать, сохранять и управлять поддерживаемыми форматами файлов.
Пожалуйста, загрузите DLL API или установите его с помощью NuGet.
PM> Install-Package Aspose.Drawing
Обрезка изображений C#
Мы можем реализовать отсечение изображения программно, выполнив следующие шаги:
- Во-первых, создайте экземпляр класса Bitmap.
- Затем создайте объект класса Graphics с помощью метода FromImage().
- Затем определите путь клипа с помощью класса GraphicsPath.
- После этого установите путь клипа с помощью метода SetClip().
- Наконец, сохраните выходное изображение с помощью метода Save().
В следующем примере кода показано, как реализовать отсечение изображения в C#.
// Создать новое растровое изображение
var bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Инициализировать графику
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
// Определить клип
Rectangle rectangle = new Rectangle(200, 200, 600, 400);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);
// Укажите строку
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
Brush brush = new SolidBrush(Color.Red);
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. " +
"Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. " +
"Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, " +
"eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. " +
"Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. " +
"Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. " +
"Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. " +
"Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
// Нарисовать строку
graphics.DrawString(text, arial, brush, rectangle, stringFormat);
// Сохранять
bitmap.Сохранять("C:\\Files\\Clipping.png");
Извлечь объект из изображения в C#
Мы можем извлечь определенную часть изображения, используя отсечение изображения, выполнив шаги, упомянутые ранее. Однако нам просто нужно загрузить существующее изображение и нарисовать его с помощью метода DrawImage().
В следующем примере кода показано, как использовать извлечение объекта из изображения в C#.
// Создать новое растровое изображение
var bitmap = new Bitmap(225, 225, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Инициализировать графику
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
// Определить клип
Rectangle rectangle = new Rectangle(0, 0, 225, 225);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);
// Загрузите изображение
Bitmap image = new Bitmap(@"C:\Files\aspose-logo.png");
// Нарисовать изображение в указанном месте
graphics.DrawImage(image,0,0);
bitmap.Save("C:\\Files\\extract-object.png");
Получить бесплатную временную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.Drawing for .NET без ограничений пробной версии.
Aspose.Drawing — бесплатные обучающие ресурсы
Помимо обрезки изображений в C#, вы можете узнать больше о различных функциях библиотеки, используя приведенные ниже ресурсы:
- Руководство разработчика Aspose.Drawing
- Бесплатные онлайн-приложения
- Справочник по API
- Руководства и статьи
Заключение
В этой статье мы узнали, как реализовать отсечение изображения на C#. Следуя пошаговым инструкциям и примерам кода, вы сможете легко и точно извлекать объекты из изображений. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.