Cắt ảnh trong C#

Cắt ảnh, còn được gọi là tạo mặt nạ ảnh hoặc trích xuất đối tượng, là một kỹ thuật được sử dụng trong thiết kế đồ họa và xử lý ảnh. Nó được sử dụng để cô lập các đối tượng hoặc đối tượng cụ thể khỏi một hình ảnh. Trong bài viết này, chúng ta sẽ khám phá việc triển khai image clipping trong C#. Tìm hiểu các kỹ thuật từng bước để trích xuất các đối tượng và nâng cao thiết kế của bạn.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

  1. API cắt ảnh C# - Tải xuống miễn phí
  2. Cách thực hiện C# Image Clipping
  3. Trích xuất đối tượng từ hình ảnh trong C#
  4. Tài nguyên học tập miễn phí

C# Image Clipping API - Tải xuống miễn phí

Để thực hiện cắt hình ảnh trong C#, chúng tôi sẽ sử dụng Aspose.Drawing for .NET API. Nó là một thư viện đồ họa 2D đa nền tảng để vẽ văn bản, hình học và hình ảnh theo chương trình. Nó cho phép tải, lưu và thao tác với các định dạng tệp được hỗ trợ.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Drawing

Cắt ảnh C#

Chúng tôi có thể thực hiện cắt hình ảnh theo chương trình bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một thể hiện của lớp Bitmap.
  2. Tiếp theo, tạo đối tượng lớp Graphics bằng phương thức FromImage().
  3. Sau đó, xác định đường dẫn clip bằng lớp GraphicsPath.
  4. Sau đó, đặt đường dẫn clip bằng phương thức SetClip().
  5. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức Save().

Mẫu mã sau đây cho biết cách thực hiện cắt ảnh trong C#.

// Tạo một bitmap mới
var bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Khởi tạo đồ họa
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

// Xác định clip
Rectangle rectangle = new Rectangle(200, 200, 600, 400);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);

// Chỉ định chuỗi
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.";

// Vẽ chuỗi
graphics.DrawString(text, arial, brush, rectangle, stringFormat);

// Cứu
bitmap.Cứu("C:\\Files\\Clipping.png");
Cắt ảnh C#

Cắt ảnh C#

Trích xuất đối tượng từ hình ảnh trong C#

Chúng tôi có thể trích xuất một phần cụ thể của hình ảnh bằng cách sử dụng hình ảnh cắt bằng cách làm theo các bước được đề cập trước đó. Tuy nhiên, chúng ta chỉ cần tải một hình ảnh hiện có và vẽ nó bằng phương thức DrawImage().

Mẫu mã sau đây cho biết cách sử dụng đối tượng trích xuất từ hình ảnh trong C#.

// Tạo một bitmap mới
var bitmap = new Bitmap(225, 225, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Khởi tạo đồ họa
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

// Xác định clip
Rectangle rectangle = new Rectangle(0, 0, 225, 225);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);

// tải hình ảnh
Bitmap image = new Bitmap(@"C:\Files\aspose-logo.png");

// Vẽ hình ảnh tại vị trí được chỉ định
graphics.DrawImage(image,0,0);

bitmap.Save("C:\\Files\\extract-object.png");
Trích xuất đối tượng từ hình ảnh trong C#

Trích xuất đối tượng từ hình ảnh trong C#

Nhận giấy phép tạm thời miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử Aspose.Drawing for .NET mà không bị giới hạn đánh giá.

Aspose.Drawing – Tài nguyên học tập miễn phí

Bên cạnh việc cắt ảnh trong C#, bạn có thể tìm hiểu thêm về các tính năng khác nhau của thư viện bằng cách sử dụng các tài nguyên dưới đây:

Phần kết luận

Trong bài viết này, chúng ta đã học cách triển khai cắt ảnh trong C#. Bằng cách làm theo các hướng dẫn từng bước và các ví dụ về mã, bạn có thể dễ dàng trích xuất các đối tượng từ hình ảnh một cách chính xác. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm