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í
- Komprimujte obrázky PNG v C#
- Komprimujte obrázky JPEG v C#
- Použít kompresi na obrázky TIFF v 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.
- Načtěte obrázek pomocí třídy Image.
- Vytvořte objekt třídy PngOptions.
- Nastavte úroveň komprese pomocí vlastnosti PngOptions.CompressionLevel.
- Uložte obrázek pomocí metody Image.Save(String, PngOptions).
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.
- Načtěte obrázek JPEG pomocí třídy Image.
- Vytvořte objekt třídy JpegOptions.
- Nastavte barevný režim pomocí vlastnosti JpegOptions.ColorType.
- Nastavte typ komprese pomocí vlastnosti JpegOptions.CompressionType.
- Uložte obrázek pomocí metody Image.Save(String, JpegOptions).
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.
- Načtěte obrázek TIFF pomocí třídy Image.
- Vytvořte objekt TiffOptions a inicializujte jej hodnotou výčtu TiffExpectedFormat.Default.
- Pro obrázek Tiff nastavte režim BitsPerSample, Compression, Photometric a Palette.
- Uložte obrázek pomocí metody Image.Save(String, TiffOptions).
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ů.