Cắt hình ảnh trong C#

Việc chỉnh sửa hình ảnh ngày nay khá phổ biến và trong nhiều trường hợp khác nhau, chúng ta cần phải thao tác các hình ảnh để có được kết quả mong muốn. Là một lập trình viên, có thể có một trường hợp để bạn triển khai các tính năng chỉnh sửa hình ảnh từ bên trong các ứng dụng bạn đang xây dựng. Gần đây, chúng tôi đã trình bày cách thay đổi kích thước, xoaylật hình ảnh theo chương trình. Hôm nay, chúng tôi sẽ hướng dẫn bạn cách cắt ảnh bằng C# trong các ứng dụng .NET của bạn. Chúng ta sẽ thảo luận về cách thực hiện cắt ảnh bằng cách sử dụng giá trị shift hoặc với hình chữ nhật.

C# API để cắt hình ảnh - Tải xuống miễn phí

Để cắt ảnh trong C#, chúng ta sẽ sử dụng Aspose.Imaging for .NET. Nó là một API giàu tính năng để thao tác liền mạch với hình ảnh của các định dạng phổ biến. Bạn có thể tải xuống API hoặc cài đặt nó vào các ứng dụng .NET của mình bằng NuGet.

PM> Install-Package Aspose.Imaging

Cắt hình ảnh trong C#

Aspose.Imaging for .NET cung cấp hai cách để cắt ảnh. Trong phương pháp đầu tiên, chúng ta cần cung cấp các giá trị dịch chuyển trái, phải, trên và dưới. Trong khi đó, ở phương pháp thứ hai, chúng ta xác định một hình chữ nhật để cắt một vùng nhất định của hình ảnh.

Trong các phần tiếp theo, chúng tôi sẽ trình bày cách sử dụng cả hai phương pháp nêu trên để cắt ảnh trong C#.

Cắt hình ảnh với giá trị Shift trong C#

Sau đây là các bước để cắt ảnh bằng cách sử dụng các giá trị shift trong C#.

  • Đầu tiên, tải hình ảnh vào đối tượng RasterImage bằng phương thức Image.Load().
  • Lưu vào bộ nhớ cache hình ảnh để có hiệu suất tốt hơn.
  • Xác định các giá trị dịch chuyển trái, phải, trên và dưới.
  • Chuyển các giá trị shift cho phương thức RasterImage.Crop() để cắt hình ảnh.
  • Lưu hình ảnh đã cắt bằng phương thức RasterImage.Save().

Mẫu mã sau đây cho thấy cách cắt một hình ảnh trong C#.

// Tải hình ảnh được cắt.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Trước khi cắt, hình ảnh nên được lưu vào bộ nhớ đệm để có hiệu suất tốt hơn.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Xác định giá trị dịch chuyển cho cả bốn mặt.
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // Dựa trên các giá trị dịch chuyển, hãy áp dụng cắt trên hình ảnh. Phương pháp xén sẽ dịch chuyển giới hạn hình ảnh về phía trung tâm của hình ảnh.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // Lưu hình ảnh đã cắt.
    rasterImage.Save("cropped.png");
}

Sau đây là hình ảnh đầu vào mà chúng tôi đã sử dụng để cắt xén.

cắt hình ảnh trong C#

Dưới đây là kết quả hình ảnh được cắt.

cắt ảnh trong C#

Cắt ảnh C# bằng Hình chữ nhật

Bạn cũng có thể xác định một hình chữ nhật để cắt vùng mong muốn của hình ảnh. Các bước sau đây minh họa việc cắt ảnh bằng hình chữ nhật trong C#.

  • Đầu tiên, tải hình ảnh vào đối tượng RasterImage bằng phương thức Image.Load().
  • Sau đó, lưu hình ảnh vào bộ nhớ cache.
  • Tạo một đối tượng Hình chữ nhật và khởi tạo nó với kích thước mong muốn.
  • Truyền đối tượng Rectangle tới phương thức RasterImage.Crop() để cắt ảnh.
  • Lưu hình ảnh đã cắt bằng phương thức RasterImage.Save().

Mẫu mã sau đây cho thấy cách thực hiện cắt ảnh với một hình chữ nhật trong C#.

// Tải hình ảnh.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Trước khi cắt, hình ảnh nên được lưu vào bộ nhớ đệm để có hiệu suất tốt hơn.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Tạo một thể hiện của lớp Rectangle với kích thước mong muốn và cắt hình ảnh.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);             
    rasterImage.Crop(rectangle);

    // Lưu hình ảnh đã cắt.
    rasterImage.Save("cropped.png");
}

API cắt ảnh cho C# - Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí và cắt ảnh mà không bị giới hạn đánh giá.

Xây dựng ứng dụng cắt xén hình ảnh của bạn

Trong bài này, bạn đã học cách cắt ảnh trong C#. Chúng tôi đã trình bày một số cách để cắt hình ảnh bằng cách sử dụng giá trị shift hoặc bằng hình chữ nhật. Giờ đây, bạn có thể dễ dàng xây dựng ứng dụng cắt ảnh của mình hoặc nâng cao khả năng chỉnh sửa ảnh của ứng dụng hiện có. Để khám phá thêm về API chỉnh sửa hình ảnh C#, bạn có thể truy cập tài liệu. Ngoài ra, bạn có thể chia sẻ các thắc mắc của mình với chúng tôi qua diễn đàn của chúng tôi.

Xem thêm