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
- Komprimera PNG-bilder i C#
- Komprimera JPEG-bilder i C#
- Tillämpa komprimering på TIFF-bilder i 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.
- Ladda bilden med klassen Image.
- Skapa ett objekt av klassen PngOptions.
- Ställ in komprimeringsnivån med egenskapen PngOptions.CompressionLevel.
- Spara bilden med metoden Image.Save(String, PngOptions).
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.
- Ladda JPEG-bilden med klassen Image.
- Skapa ett objekt av klassen JpegOptions.
- Ställ in färgläget med egenskapen JpegOptions.ColorType.
- Ställ in komprimeringstyp med egenskapen JpegOptions.CompressionType.
- Spara bilden med metoden Image.Save(String, JpegOptions).
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.
- Ladda TIFF-bilden med klassen Image.
- Skapa ett objekt av TiffOptions och initiera det med TiffExpectedFormat.Default enum-värde.
- Ställ in BitsPerSample, Kompression, Photometric läge och Palette för Tiff-bilden.
- Spara bilden med metoden Image.Save(String, TiffOptions).
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.