Cách nén hình ảnh trong C#

Cách nén hình ảnh trong C#

Tích hợp [thư viện] nén .NET này 1 để nén các định dạng tệp hình ảnh phổ biến như TIFF, JPG, PNG, v.v. Trong các tổ chức lớn, việc lưu trữ tệp là một chủ đề quan trọng và bạn luôn có xu hướng tối ưu hóa các tệp kinh doanh của mình và làm cho kích thước của chúng trở nên hiệu quả về mặt bộ nhớ. Do đó, bạn có thể sử dụng thư viện này để nén hình ảnh theo chương trình trong ứng dụng .NET. Ngoài ra, bạn cũng sẽ nhận được các đoạn mã và các bước về cách nén hình ảnh trong C#|.

Các điểm sau đây sẽ được đề cập trong hướng dẫn này:

Cài đặt thư viện nén .NET

Về việc cài đặt API này, nó cực kỳ đơn giản. Bạn có thể tải xuống DLL của nó hoặc cài đặt nó bằng cách chạy lệnh sau trong trình quản lý gói NuGet.

Install-Package Aspose.Imaging

Nén JPG theo chương trình

Bây giờ, chúng ta sẽ triển khai cách nén hình ảnh trong C# theo lập trình. Bạn có thể làm theo các bước và đoạn mã được đề cập bên dưới:

  1. Khởi tạo một thể hiện của lớp Hình ảnh và gọi phương thức Tải để tải hình ảnh JPG.
  2. Khởi tạo một đối tượng của lớp JpegOptions.
  3. Đặt loại màu cho hình ảnh JPEG bằng cách đặt giá trị của thuộc tính ColorType.
  4. Chỉ định loại nén bằng cách đặt giá trị của thuộc tính CompressionType.
  5. Phương thức Save sẽ lưu hình ảnh.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

// Khởi tạo một thể hiện của Hình ảnh và lớp rồi gọi phương thức Tải để tải hình ảnh JPG  
using (var original = Image.Load( "sample.jpg"))
{
    // Khởi tạo một đối tượng của lớp JpegOptions 
    var jpegOptions = new JpegOptions()
    {
        // Đặt loại màu cho hình ảnh jpeg bằng cách đặt giá trị của thuộc tính ColorType.   
        ColorType = JpegCompressionColorMode.Grayscale,
        // Chỉ định kiểu nén bằng cách đặt giá trị của thuộc tính CompressionType 
        CompressionType = JpegCompressionMode.Progressive,

    };
    //  Phương pháp lưu sẽ lưu hình ảnh.
    original.Save( "result.jpg", jpegOptions);
}

Cách nén TIFF trong C#

Để nén hình ảnh TIFF, bạn cần làm theo các bước sau:

Sau đây là các bước:

  1. Gọi phương thức Load để tải hình ảnh TIFF.
  2. Khởi tạo hàm tạo của lớp TiffOptions với giá trị TiffExpectedFormat.Default.
  3. Đặt giá trị của thuộc tính BitsPerSample.
  4. Ngoài ra, hãy đặt giá trị của thuộc tính Nén.
  5. Cuối cùng, đặt thuộc tính PhotometricPalette.
  6. Gọi phương thức Save để lưu ảnh.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

//  Gọi phương thức Load để tải hình ảnh TIFF  
using (Image image = Image.Load( "sample.tiff"))
{
    // Khởi tạo hàm tạo của lớp TiffOptions với giá trị TiffExpectedFormat.Default.  
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // Đặt giá trị của thuộc tính BitsPerSample 
    outputSettings.BitsPerSample = new ushort[] { 4 };
    // Ngoài ra, hãy đặt giá trị của thuộc tính Nén 
    outputSettings.Compression = TiffCompressions.Lzw;
    // Cuối cùng thiết lập thuộc tính Photometric, Palette  
    outputSettings.Photometric = TiffPhotometrics.Palette;
    outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
    // Gọi phương thức Save để lưu hình ảnh. 
    image.Save(  "result.tiff", outputSettings);
}

Làm cách nào để giảm kích thước tệp PNG?

Thư viện nén .NET này cung cấp nhiều phương pháp để thao tác và nén các tệp PNG một cách dễ dàng.

Sau đây là các bước và đoạn mã để nén PNG theo chương trình:

  1. Tải hình ảnh PNG bằng cách gọi phương thức Tải.
  2. Lặp lại phạm vi CompressionLevel có thể.
  3. Tạo một phiên bản của lớp PngOptions cho mỗi PNG kết quả, Đặt CompressionLevel và Lưu kết quả trên đĩa.
  4. Mức nén hình ảnh PNG nằm trong phạm vi 0-9, trong đó 9 là mức nén tối đa và 0 là chế độ lưu trữ. Đặt giá trị của thuộc tính CompressionLevel.
  5. Gọi phương thức save để lưu ảnh.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

// Tải hình ảnh từ tệp bằng cách gọi phương thức Load 
using (Image image = Image.Load( "result.png"))
{
    // Lặp lại phạm vi CompressionLevel có thể 
   for (int i = 0; i <= 9; i++)
    {
        // Tạo một phiên bản PNGOptions cho từng PNG kết quả, Đặt CompressionLevel và Lưu kết quả trên đĩa 
        PngOptions options = new PngOptions();
        // Mức nén hình ảnh png nằm trong phạm vi 0-9, trong đó 9 là mức nén tối đa và 0 là chế độ lưu trữ. Đặt giá trị của thuộc tính CompressionLevel.
        options.CompressionLevel = i;
        // Gọi phương thức save để lưu hình ảnh 
        image.Save(i + "_dam.png", options);
    }
}

Nhận giấy phép miễn phí

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

Tổng hợp

Chúng tôi có thể kết thúc bài đăng blog hướng dẫn này với hy vọng rằng bạn đã học được cách nén hình ảnh trong C#. Hơn nữa, bạn đã sử dụng thư viện nén .NET này để nén các định dạng tệp hình ảnh PNG, TIFF và JPG theo chương trình. Quan trọng nhất, bạn có thể truy cập tài liệu để biết về các tính năng khác.

Hơn nữa, chúng tôi khuyên bạn nên làm theo Hướng dẫn bắt đầu của chúng tôi.

Cuối cùng, conholdate.com đang viết bài blog mới. Vì vậy, hãy giữ liên lạc để cập nhật thường xuyên.

Đặt một câu hỏi

Bạn có thể cho chúng tôi biết về các câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.

Câu hỏi thường gặp

Làm cách nào để nén hình ảnh trong lõi .NET?

Vui lòng truy cập liên kết này để biết các đoạn mã và phương thức API được hiển thị bởi [thư viện] nén .NET này 1.

Làm cách nào để nén PNG?

Tạo một phiên bản PngOptions cho mỗi PNG kết quả, đặt giá trị của thuộc tính CompressionLevel và gọi phương thức save để lưu hình ảnh.

Xem thêm