Обрізання зображення в C#

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

У цій статті будуть розглянуті такі теми:

  1. C# Image Clipping API - Безкоштовне завантаження
  2. Як реалізувати C# Image Clipping
  3. Вилучення об’єкта із зображення в C#
  4. Безкоштовні навчальні ресурси

C# Image Clipping API — Безкоштовне завантаження

Для реалізації відсікання зображення в C# ми будемо використовувати API Aspose.Drawing for .NET. Це кросплатформна бібліотека двовимірної графіки для програмного малювання тексту, геометрії та зображень. Він дозволяє завантажувати, зберігати та маніпулювати підтримуваними форматами файлів.

Завантажте DLL API або встановіть його за допомогою NuGet.

PM> Install-Package Aspose.Drawing

Відсікання зображень C#

Ми можемо реалізувати відсікання зображення програмним шляхом, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу Bitmap.
  2. Далі створіть об’єкт класу Graphics за допомогою методу FromImage().
  3. Потім визначте шлях кліпу за допомогою класу GraphicsPath.
  4. Після цього встановіть шлях кліпу за допомогою методу SetClip().
  5. Нарешті, збережіть вихідне зображення за допомогою методу 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#

Відсікання зображень C#

Вилучення об’єкта із зображення в 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");
Вилучення об’єкта із зображення в C#

Вилучення об’єкта із зображення в C#

Отримайте безкоштовну тимчасову ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати Aspose.Drawing for .NET без оціночних обмежень.

Aspose.Drawing – безкоштовні навчальні ресурси

Окрім відсікання зображень у C#, ви можете дізнатися більше про різні функції бібліотеки за допомогою наведених нижче ресурсів:

Висновок

У цій статті ми дізналися, як реалізувати вирізання зображення в C#. Дотримуючись покрокових інструкцій і прикладів коду, ви можете легко витягувати об’єкти із зображень із точністю. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також