효율적인 이미지 압축은 현대 웹 및 모바일 응용 프로그램의 중요한 구성 요소이며, 저장 공간을 줄이고 전송 속도를 향상시키는 데 도움이됩니다.이 가이드에서는 강력한 Aspose.Imaging 도서관을 사용하여 손실없는 이미지를 압박하는 기술을 비교하는 방법을 탐구합니다. .NET 이 기사는 개발자에게 특정 요구 사항에 따라 각 유형의 압력을 사용할 때에 대한 이해를 제공하는 것을 목표로 합니다.

소개

이미지 압축은 광범위하게 두 가지 유형으로 분류 될 수 있습니다 : lossylosssless. 각 방법은 자신의 장점을 가지고 있으며 다른 시나리오에 적합합니다 :

  • Lossy Compression: 필수적이지 않은 데이터를 제거하여 파일 크기를 줄이고 품질이 약간 감소합니다.
  • ** 손실없는 압축**: 모든 이미지 데이터를 저장하면서 파일 크기를 줄이고 품질을 잃지 않도록합니다.

이 기사에서는 이러한 기술이 Aspose.Imaging을 사용하여 어떻게 구현될 수 있는지에 대해 설명하고 웹 배달, 아카이브 저장 또는 전문 편집 작업 흐름과 같은 다양한 맥락에서 그들의 응용 프로그램을 논의합니다.

원칙 : ASPOSE 설정.Imaging

코드 예제에 몰입하기 전에 다음 설정을 가지고 있는지 확인하십시오 :

    • 시스템에 .NET SDK를 설치합니다.
  • NuGet을 사용하여 프로젝트에 Aspose.Imaging을 추가하십시오 :
using Aspose.Imaging;
using Aspose.Imaging.FileFormats.Jpeg;

// Initialize metered license
Metered metered = new Metered();
metered.SetMeteredKey("your-public-key", "your-private-key");

string inputPath = @"path\to\input.jpg";
string outputPathLossy = @"path\to\output_lossy.jpg";
string outputPathLossless = @"path\to\output_lossless.png";

// Load the image
JpegImage jpegImage = (JpegImage)Image.Load(inputPath);

// Lossy Compression Example
using (MemoryStream msLossy = new MemoryStream())
{
    // Save with lossy compression settings
    jpegImage.Save(msLossy, new JpegOptions { Quality = 75 });
    
    File.WriteAllBytes(outputPathLossy, msLossy.ToArray());
}

// Lossless Compression Example
using (PngOptions options = new PngOptions())
{
    options.Source = new FileCreateSource(outputPathLossless, false);
    jpegImage.Save(outputPathLossless, options);
}

코드를 이해하는 방법

우리는이 구현의 핵심 부분을 분해 할 것입니다 :

단계 1 : 초기 설정

먼저, 우리는 측정 된 라이센스를 시작하고 입력 파일을 업로드합니다 :

// Initialize metered license
Metered metered = new Metered();
metered.SetMeteredKey("your-public-key", "your-private-key");

string inputPath = @"path\to\input.jpg";
JpegImage jpegImage = (JpegImage)Image.Load(inputPath);

단계 2 : 손실 압축 설정

다음으로, 우리는 손실 압축 설정을 설정하고 이미지를 저장합니다 :

using (MemoryStream msLossy = new MemoryStream())
{
    // Save with lossy compression settings
    jpegImage.Save(msLossy, new JpegOptions { Quality = 75 });
    
    File.WriteAllBytes(outputPathLossy, msLossy.ToArray());
}

단계 3: 손실없는 압축 설정

이제 우리는 손실없는 압축을 설정하고 이미지를 저장합니다 :

using (PngOptions options = new PngOptions())
{
    options.Source = new FileCreateSource(outputPathLossless, false);
    jpegImage.Save(outputPathLossless, options);
}

핵심 개념 설명

  • Lossy 압축 : 이 JpegOptions 클래스는 손실 압축을위한 품질 수준을 지정할 수 있습니다. 낮은 값은 작은 파일 크기로 발생하지만 이미지가 낮아집니다.

  • ** 손실없는 압축**: PNG, Aspose.Imaging과 같은 이미지를 저장할 때 자동으로 손상없이 압박을 적용하여 프로세스 중 데이터가 잃어버리지 않도록 합니다.

결론

Aspose.Imaging의 강력한 기능을 활용함으로써 개발자는 다양한 응용 프로그램에 대한 이미지를 최적화하고 동시에 최고 품질 표준을 유지할 수 있습니다. .NET에서 Lossy vs. Lossless Compression을 비교하는 방법.

More in this category