Komprese obrázku je oblíbený způsob zmenšení velikosti obrázků. Umožňuje vám minimalizovat prostor a čas potřebný k ukládání a přenosu snímků. K dispozici jsou různé kompresní techniky, které komprimují obrázky takovým způsobem, aby nedocházelo ke snížení kvality obrázků. V souladu s tím vám tento příspěvek poskytuje několik jednoduchých způsobů, jak komprimovat obrázky PNG, JPEG a TIFF programově pomocí C#.

C# Image Compression API – zdarma ke stažení

Aspose.Imaging for .NET je výkonné rozhraní API pro zpracování obrázků, které vám umožňuje manipulovat s oblíbenými formáty obrázků z vašich aplikací .NET. Kromě toho vám API umožňuje aplikovat různé typy komprese na obrázky včetně PNG, JPEG a TIFF. Abyste mohli API používat, můžete si buď stáhnout jeho DLL, nebo jej nainstalovat pomocí NuGet.

Install-Package Aspose.Imaging

Komprimujte obrázky PNG v C#

U obrázků PNG můžete nastavit úroveň komprese od 0 do 9, kde 9 je maximální komprese a 0 je režim úložiště. Následují kroky ke kompresi obrázku PNG pomocí Aspose.Imaging for .NET.

Následující ukázka kódu ukazuje, jak komprimovat obrázky PNG pomocí C#.

// Cesta k adresáři dokumentů.
string dataDir = RunExamples.GetDataDir_PNG();
 
// Načíst obrázek ze souboru (nebo streamu)
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
    // Smyčka přes možný rozsah CompressionLevel
   for (int i = 0; i <= 9; i++)
    {
        // Vytvořte instanci PngOptions pro každý výsledný PNG, Set CompressionLevel a Uložit výsledek na disk
        PngOptions options = new PngOptions();
        options.CompressionLevel = i;
        image.Save(i + "_out.png", options);
    }
}

Komprimujte obrázky JPEG v C#

Aby bylo možné pracovat s obrázky JPEG, Aspose.Imaging for .NET poskytuje třídu JpegOptions, která nabízí následující typy komprese pro obrázky JPEG.

  • Základní linie
  • Progresivní
  • Bezztrátový
  • JpegLs

Následují kroky ke kompresi obrázků JPEG pomocí jednoho z výše uvedených typů komprese.

Následující ukázka kódu ukazuje, jak komprimovat obrázek JPEG pomocí C#.

// Cesta k adresáři dokumentů.
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);
}

Použít kompresi na obrázky TIFF v C#

Aspose.Imaging for .NET poskytuje široký rozsah typů komprese pro obrázky TIFF včetně LZW, Packbits, CCIT Fax 3 & 4 atd. Můžete si vybrat vhodný typ podle svých požadavků. Následují kroky ke kompresi obrázku TIFF.

Následující ukázka kódu ukazuje, jak komprimovat obrázky TIFF pomocí C#.

// Cesta k adresáři dokumentů.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();

// Načtěte obrázek přes umístění cesty k souboru nebo stream
Image image = Image.Load(dataDir + "SampleTiff.tiff");

// Vytvořte instanci TiffOptions pro výsledný obrázek
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

// Nastavte BitsPerSample, Compression, Photometric mode a grayscale paletu
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);

Závěr

V tomto příspěvku jste se naučili komprimovat obrázky PNG, JPEG a TIFF pomocí C#. Pro obrázky JPEG a TIFF byly také uvedeny různé podporované kompresní techniky. Další informace o rozhraní API pro zpracování obrázků .NET můžete prozkoumat pomocí dokumentace.

Viz také

Informace: Pomocí převodníku Aspose JPG na PPT nebo PNG na PPT můžete generovat prezentace v PowerPointu z jednoduchých obrázků.