Resize Images C#

Việc thay đổi kích thước hình ảnh là một thao tác phổ biến trong xử lý hình ảnh, hữu ích trong nhiều tình huống như chuẩn bị hình ảnh cho việc xuất bản web, hình thu nhỏ, hoặc giảm kích thước tệp tin. Trong bài viết này, chúng ta sẽ khám phá cách thay đổi kích thước hình ảnh trong C#. Bạn sẽ học cách thay đổi kích thước hình ảnh raster như JPG hoặc PNG, thực hiện việc thay đổi kích thước tỷ lệ, và xử lý hình ảnh vector như SVG với độ chính xác.

Tại sao lại thay đổi kích thước hình ảnh trong C#?

Thay đổi kích thước hình ảnh theo chương trình cho bạn khả năng tự động hóa và mở rộng các tác vụ xử lý hình ảnh mà không cần can thiệp thủ công. Dưới đây là một số lý do tại sao điều này là cần thiết:

  • Nó giúp tối ưu hóa kích thước hình ảnh để giảm thời gian tải và sử dụng băng thông trong các ứng dụng web.
  • Đảm bảo hiển thị nhất quán trên các nền tảng và kích thước màn hình khác nhau.
  • Giúp tạo hình ảnh xem trước và hình thu nhỏ một cách động.
  • Cho phép điều chỉnh hình ảnh tự động trong các quy trình làm việc như tạo tài liệu, lưu trữ hoặc xuất bản.

Thay đổi kích thước hình ảnh - C# API Cài đặt

Bạn có thể cài đặt phiên bản ổn định mới nhất của Conholdate.Total for .NET bằng cách sử dụng lệnh cài đặt NuGet sau trong hệ thống của bạn:

PM> NuGet\Install-Package Conholdate.Total

Thay đổi kích thước hình ảnh trong C#

Hãy bắt đầu với việc thay đổi kích thước cơ bản của hình ảnh raster như JPG bằng cách sử dụng kích thước cố định trong C#. Chỉ cần làm theo các bước bên dưới:

  1. Load a JPG image từ tệp bằng cách sử dụng Image.Load().
  2. Gọi phương thức Resize() để đặt chiều rộng và chiều cao thành 300 pixel mỗi chiều.
  3. Lưu hình ảnh đã thay đổi kích thước bằng cách sử dụng image.Save().

Mã mẫu dưới đây minh họa việc thay đổi kích thước hình ảnh trong C#:

// Load image
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Thay đổi kích thước hình ảnh và lưu hình ảnh đã thay đổi kích thước
    image.Resize(300, 300);
    image.Save("SimpleResizing_out.jpg");
}

Thay đổi kích thước hình ảnh theo tỷ lệ trong C#

Phần này minh họa cách thay đổi kích thước một hình ảnh PNG trong khi giữ tỷ lệ khung ban đầu của nó trong C#.

  1. Tải hình ảnh PNG bằng cách sử dụng Image.Load().
  2. Kiểm tra xem hình ảnh có được lưu vào bộ nhớ đệm hay không; nếu không, gọi CacheData() để cải thiện hiệu suất.
  3. Chia chiều rộng và chiều cao hiện tại cho 2 để tính toán các kích thước tỷ lệ mới.
  4. Sử dụng ResizeWidthProportionally() và ResizeHeightProportionally() để duy trì tỷ lệ khung hình.
  5. Lưu ảnh đã thay đổi kích thước bằng phương thức image.Save().

Đoạn mã sau đây cho thấy việc thay đổi kích thước hình ảnh theo tỷ lệ trong C#:

// Load image
using (Image image = Image.Load("aspose-logo.png"))
{
    // Cache image data
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Chỉ định chiều rộng và chiều cao
    int newWidth = image.Width / 2;
    image.ResizeWidthProportionally(newWidth);
    int newHeight = image.Height / 2;
    image.ResizeHeightProportionally(newHeight);
    
    // Lưu hình ảnh
    image.Save("ResizeImageProportionally_out.png");

Thay đổi kích thước hình ảnh vector trong C#

Ví dụ này minh họa cách thay đổi kích thước của hình ảnh vector (SVG) trong C#::

  1. Load an SVG vector image using Image.Load().
  2. Nhân chiều rộng và chiều cao hiện tại với các hệ số tỷ lệ (10 và 15).
  3. Gọi Resize() với chiều rộng và chiều cao mới.
  4. Lưu hình ảnh đã thay đổi kích thước dưới dạng PNG bằng cách sử dụng image.Save() với PngOptions.
  5. Xác định SvgRasterizationOptions để đảm bảo hình ảnh vector được hiển thị đúng.

Mẫu mã dưới đây giải thích cách thay đổi kích thước hình ảnh vector trong C#:

// Load image
using (Image image = Image.Load("image.svg"))
 {
    // Thay đổi kích thước hình ảnh dưới dạng PNG
    image.Resize(image.Width * 10,image.Height * 15);
    image.Save("Logotype_10_15.png", new PngOptions()
    {
        VectorRasterizationOptions = new SvgRasterizationOptions()
    });
 }

Giấy phép Đánh giá Miễn phí

Bạn có thể đánh giá những điều này cũng như nhiều tính năng khác được cung cấp bởi API bằng cách nhận một giấy phép tạm thời miễn phí.

Tóm tắt

Việc thay đổi kích thước hình ảnh là một chức năng thiết yếu cho các ứng dụng quản lý, hiển thị hoặc xuất nội dung hình ảnh. Với Conholdate.Total cho .NET, việc thay đổi kích thước hình ảnh trong C# trở nên hiệu quả và thân thiện với lập trình viên. Nó hỗ trợ nhiều định dạng khác nhau và cung cấp sự kiểm soát chi tiết về hành vi thay đổi kích thước, cho dù bạn đang làm việc với kích thước cố định, duy trì tỷ lệ khung hình, hay chuyển đổi hình ảnh vectơ. Tuy nhiên, nếu bạn có bất kỳ câu hỏi nào thì hãy thoải mái liên hệ với chúng tôi tại forum.

Xem thêm