Nén hình ảnh là một cách phổ biến để giảm kích thước hình ảnh. Nó cho phép bạn giảm thiểu không gian và thời gian cần thiết để lưu trữ và truyền hình ảnh tương ứng. Có nhiều kỹ thuật nén khác nhau giúp nén hình ảnh sao cho chất lượng của hình ảnh không bị suy giảm. Theo đó, bài đăng này cung cấp cho bạn một số cách đơn giản về cách nén hình ảnh PNG, JPEGTIFF theo cách lập trình bằng C#.

API nén hình ảnh C# - Tải xuống miễn phí

Aspose.Imaging for .NET là một API xử lý hình ảnh mạnh mẽ cho phép bạn thao tác với các định dạng hình ảnh phổ biến từ bên trong các ứng dụng .NET của mình. Ngoài ra, API cho phép bạn áp dụng các loại nén khác nhau cho hình ảnh bao gồm PNG, JPEG và TIFF. Để sử dụng API, bạn có thể tải xuống DLL của nó hoặc cài đặt nó bằng NuGet.

Install-Package Aspose.Imaging

Nén hình ảnh PNG trong C#

Đối với hình ảnh PNG, bạn có thể đặt mức nén từ 0 đến 9 trong đó 9 là mức nén tối đa và 0 là chế độ lưu trữ. Sau đây là các bước để nén hình ảnh PNG bằng Aspose.Imaging for .NET.

Mẫu mã sau đây cho biết cách nén hình ảnh PNG bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_PNG();
 
// Tải hình ảnh từ tệp (hoặc luồng)
using (Image image = Image.Load(dataDir + "aspose_logo.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 của PngOptions cho mỗi PNG kết quả, Đặt CompressionLevel và Lưu kết quả trên đĩa
        PngOptions options = new PngOptions();
        options.CompressionLevel = i;
        image.Save(i + "_out.png", options);
    }
}

Nén ảnh JPEG trong C#

Để xử lý ảnh JPEG, Aspose.Imaging for .NET cung cấp lớp JpegOptions cung cấp các kiểu nén sau cho ảnh JPEG.

  • đường cơ sở
  • Cấp tiến
  • Không mất mát
  • JpegL

Sau đây là các bước để nén ảnh JPEG bằng một trong các kiểu nén nêu trên.

Mẫu mã sau đây cho biết cách nén hình ảnh JPEG bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_JPEG();
          
using (var original = Image.Load(dataDir+"ColorGif.gif"))
{
    var jpegOptions = new JpegOptions()
{
    ColorType = JpegCompressionColorMode.Grayscale,
    CompressionType = JpegCompressionMode.Progressive,
          
};
    original.Save("D:/temp/result.jpg", jpegOptions);
}

Áp dụng nén trên hình ảnh TIFF trong C#

Aspose.Imaging for .NET cung cấp phạm vi rộng loại nén cho hình ảnh TIFF bao gồm LZW, Packbits, CCIT Fax 3 & 4, v.v. Bạn có thể chọn loại phù hợp theo yêu cầu của mình. Sau đây là các bước để nén hình ảnh TIFF.

Mẫu mã sau đây cho biết cách nén hình ảnh TIFF bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();

// Tải hình ảnh thông qua vị trí đường dẫn tệp hoặc luồng
Image image = Image.Load(dataDir + "SampleTiff.tiff");

// Tạo một phiên bản TiffOptions cho hình ảnh kết quả
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

// Đặt BitsPerSample, Nén, Chế độ trắc quang và bảng màu xám
outputSettings.BitsPerSample = new ushort[] { 4 };
outputSettings.Compression = TiffCompressions.Lzw;
outputSettings.Photometric = TiffPhotometrics.Palette;
outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
image.Save(dataDir + "SampleTiff_out.tiff", outputSettings);

Sự kết luận

Trong bài đăng này, bạn đã học cách nén hình ảnh PNG, JPEG và TIFF bằng C#. Các kỹ thuật nén được hỗ trợ khác nhau cũng đã được liệt kê cho ảnh JPEG và TIFF. Bạn có thể khám phá thêm về API xử lý ảnh .NET bằng cách sử dụng tài liệu.

Xem thêm

Thông tin: Sử dụng trình chuyển đổi Aspose JPG sang PPT hoặc PNG sang PPT, bạn có thể tạo bản trình bày PowerPoint từ những hình ảnh đơn giản.