Afbeeldingen comprimeren in C#

Afbeeldingen comprimeren in C#

Integreer deze .NET-compressie [bibliotheek][1] om populaire afbeeldingsbestandsindelingen zoals [TIFF][2], [JPG][3], [PNG][4] en meer te comprimeren. In grote organisaties is bestandsopslag een cruciaal onderwerp en heb je altijd de neiging om je zakelijke bestanden te optimaliseren en hun geheugencapaciteit efficiënt te maken. Daarom kunt u deze [bibliotheek][1] gebruiken om afbeeldingen programmatisch te comprimeren in een .NET-toepassing. Daarnaast krijgt u ook de codefragmenten en de stappen over afbeeldingen comprimeren in C#|. In deze handleiding komen de volgende punten aan bod:

  • [installatie van .NET-compressiebibliotheek][5]
  • [JPG programmatisch comprimeren][6]
  • [TIFF comprimeren in C#][7]
  • [Hoe PNG-bestandsgrootte verkleinen?][8]

Installatie van .NET-compressiebibliotheek

Wat de installatie van deze API betreft, het is supereenvoudig. U kunt de DLL ervan [downloaden][9] of installeren door de volgende opdracht uit te voeren in de [NuGet][10] pakketbeheerder.

Install-Package Aspose.Imaging

Comprimeer JPG programmatisch

Nu zullen we implementeren hoe de afbeeldingen in C# programmatisch kunnen worden gecomprimeerd. U kunt de onderstaande stappen en het onderstaande codefragment volgen:

  1. Instantiseer een instantie van de klasse [Image][11] en roep de methode [Load][12] aan om een JPG-afbeelding te laden.
  2. Initialiseer een object van de klasse [JpegOptions][13].
  3. Stel het kleurtype voor de JPEG-afbeelding in door de waarde van de eigenschap [ColorType][14] in te stellen.
  4. Geef het compressietype op door de waarde van de eigenschap [CompressionType][15] in te stellen.
  5. De methode [Opslaan][16] slaat de afbeelding op. Kopieer en plak de volgende code in uw hoofdbestand:
    // Instantiate an instance of Image and class and call the Load method to load a JPG image
    using (var original = Image.Load( "sample.jpg"))
    {
    // Initialize an object of the JpegOptions class
    var jpegOptions = new JpegOptions()
    {
    // Set the color type for jpeg image by setting the value of the ColorType property.
    ColorType = JpegCompressionColorMode.Grayscale,
    // Specify the compression type by setting the value of CompressionType property
    CompressionType = JpegCompressionMode.Progressive,
    };
    // Save method will save the image.
    original.Save( "result.jpg", jpegOptions);
    }

TIFF comprimeren in C#

Om een TIFF-afbeelding te comprimeren, moet u de volgende stappen volgen: Dit zijn de stappen:

  1. Gebruik de methode [Load][12] om een TIFF-afbeelding te laden.
  2. Initialiseer de constructor van de klasse [TiffOptions][17] met de waarde [TiffExpectedFormat.Default][31].
  3. Stel de waarde van de eigenschap [BitsPerSample][18] in.
  4. Stel ook de waarde van de eigenschap [Compressie][19] in.
  5. Stel ten slotte de eigenschappen [Fotometrisch][20] en [Palet][21] in.
  6. Roep de methode [Opslaan][16] aan om de afbeelding op te slaan. Kopieer en plak de volgende code in uw hoofdbestand:
    // Invoke the Load method to load a TIFF image
    using (Image image = Image.Load( "sample.tiff"))
    {
    // Initialize the constructor of TiffOptions class with TiffExpectedFormat.Default value.
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // Set the value of the BitsPerSample property
    outputSettings.BitsPerSample = new ushort[] { 4 };
    // Also, set the value of the Compression property
    outputSettings.Compression = TiffCompressions.Lzw;
    // Finally set the Photometric, Palette properties
    outputSettings.Photometric = TiffPhotometrics.Palette;
    outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
    // Call the Save method to save the image.
    image.Save( "result.tiff", outputSettings);
    }

Hoe PNG-bestandsgrootte verkleinen?

Deze .NET-compressiebibliotheek biedt een breed scala aan methoden om eenvoudig PNG-bestanden te manipuleren en ** te comprimeren. Hieronder volgen de stappen en het codefragment om PNG programmatisch te comprimeren:

  1. Laad een PNG-afbeelding door de methode [Load][12] aan te roepen.
  2. Loop over het mogelijke CompressionLevel-bereik.
  3. Maak een instantie van de klasse [PngOptions][22] voor elke resulterende PNG, stel het compressieniveau in en sla het resultaat op de schijf op.
  4. Het compressieniveau van PNG-afbeeldingen ligt in het bereik van 0-9, waarbij 9 de maximale compressie is en 0 de opslagmodus. Stel de waarde van de eigenschap [CompressionLevel][23] in.
  5. Gebruik de methode [save][16] om de afbeelding op te slaan. Kopieer en plak de volgende code in uw hoofdbestand:
    // Load an image from file by calling the Load method
    using (Image image = Image.Load( "result.png"))
    {
    // Loop over possible CompressionLevel range
    for (int i = 0; i <= 9; i++)
    {
    // Create an instance of PngOptions for each resultant PNG, Set CompressionLevel and Save result on disk
    PngOptions options = new PngOptions();
    // The png image compression level in the 0-9 range, where 9 is maximum compression and 0 is store mode. Set the value of CompressionLevel property.
    options.CompressionLevel = i;
    // Invoke the save method to save the image
    image.Save(i + "_dam.png", options);
    }
    }
    view raw compress-png.cs hosted with ❤ by GitHub

Ontvang een gratis licentie

U kunt gebruik maken van een [gratis tijdelijke licentie][24] om de API zonder evaluatiebeperkingen uit te proberen.

Opsommen

We kunnen deze blogpost met zelfstudie afsluiten in de hoop dat je hebt geleerd hoe je afbeeldingen comprimeert in C#. Bovendien heb je deze .NET-compressiebibliotheek doorlopen om PNG-, TIFF- en JPG-afbeeldingsbestanden te comprimeren formatteert programmatisch. Het belangrijkste is dat u de [documentatie][25] kunt bezoeken voor meer informatie over andere functies. Bovendien raden we u aan onze [Aan de slag-gids][26] te volgen. Ten slotte schrijft [conholdate.com][27] nieuwe blogposts. Blijf daarom in contact voor regelmatige updates.

Een vraag stellen

U kunt uw vragen of opmerkingen aan ons doorgeven op ons [forum][28].

Veelgestelde vragen

Hoe comprimeer ik een afbeelding in .NET core? Ga naar deze [link][6] voor meer informatie over de codefragmenten en API-methoden die door deze .NET-compressie [bibliotheek][1] worden vrijgegeven. Hoe PNG comprimeren? Maak een instantie van [PngOptions][23] voor elke resulterende PNG, stel de waarde van de eigenschap [CompressionLevel][23] in en roep de methode [save][16] aan om de afbeelding op te slaan.

Zie ook