Bildkomprimering är ett populärt sätt att minska storleken på bilderna. Det låter dig minimera utrymmet och tiden som krävs för att lagra respektive överföra bilder. Det finns olika komprimeringstekniker som komprimerar bilder på ett sådant sätt att kvaliteten på bilderna inte försämras. I enlighet med det ger det här inlägget dig några enkla sätt att komprimera PNG, JPEG och TIFF bilder programmatiskt med C#.

C# Image Compression API - Gratis nedladdning

Aspose.Imaging for .NET är ett kraftfullt bildbehandlings-API som låter dig manipulera populära bildformat från dina .NET-applikationer. Dessutom tillåter API:et dig att tillämpa olika typer av komprimering på bilder inklusive PNG, JPEG och TIFF. För att använda API:t kan du antingen ladda ner dess DLL eller installera den med NuGet.

Install-Package Aspose.Imaging

Komprimera PNG-bilder i C#

För PNG-bilder kan du ställa in komprimeringsnivån från 0 till 9 där 9 är maximal komprimering och 0 är lagringsläge. Följande är stegen för att komprimera en PNG-bild med Aspose.Imaging för .NET.

Följande kodexempel visar hur man komprimerar PNG-bilder med C#.

// Sökvägen till dokumentkatalogen.
string dataDir = RunExamples.GetDataDir_PNG();
 
// Ladda en bild från fil (eller stream)
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
    // Slinga över möjliga Compression Level-intervall
   for (int i = 0; i <= 9; i++)
    {
        // Skapa en instans av PngOptions för varje resulterande PNG, Ställ in CompressionLevel och Spara resultat på disk
        PngOptions options = new PngOptions();
        options.CompressionLevel = i;
        image.Save(i + "_out.png", options);
    }
}

Komprimera JPEG-bilder i C#

För att hantera JPEG-bilder tillhandahåller Aspose.Imaging för .NET klass JpegOptions som erbjuder följande komprimeringstyper för JPEG-bilder.

  • Baslinje
  • Progressiv
  • Förlust mindre
  • JpegLs

Följande är stegen för att komprimera JPEG-bilder med någon av de ovan nämnda komprimeringstyperna.

Följande kodexempel visar hur man komprimerar en JPEG-bild med C#.

// Sökvägen till dokumentkatalogen.
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);
}

Tillämpa komprimering på TIFF-bilder i C#

Aspose.Imaging för .NET tillhandahåller ett brett spektrum av komprimeringstyper för TIFF-bilder inklusive LZW, Packbits, CCIT Fax 3 & 4 och etc. Du kan välja lämplig typ enligt dina krav. Följande är stegen för att komprimera en TIFF-bild.

Följande kodexempel visar hur man komprimerar TIFF-bilder med C#.

// Sökvägen till dokumentkatalogen.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();

// Ladda en bild via filsökvägsplats eller ström
Image image = Image.Load(dataDir + "SampleTiff.tiff");

// Skapa en instans av TiffOptions för den resulterande bilden
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

// Ställ in BitsPerSample, Kompression, Fotometriskt läge och gråskalepalett
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);

Slutsats

I det här inlägget har du lärt dig hur du komprimerar PNG-, JPEG- och TIFF-bilder med C#. Olika komprimeringstekniker som stöds har också listats för JPEG- och TIFF-bilder. Du kan utforska mer om .NET-bildbehandlings-API:et med hjälp av dokumentation.

Se även

Info: Med Aspose JPG till PPT eller PNG till PPT omvandlare kan du skapa PowerPoint-presentationer från enkla bilder.