La compression d’image est un moyen courant de réduire la taille des images. Il vous permet de minimiser l’espace et le temps requis pour stocker et transmettre des images respectivement. Diverses techniques de compression sont disponibles pour compresser les images de manière à ce que la qualité des images ne soit pas dégradée. Conformément à cela, cet article vous propose des moyens simples de compresser des images PNG, JPEG et TIFF par programmation à l’aide de C#.

API de compression d’images C# - Téléchargement gratuit

Aspose.Imaging for .NET est une puissante API de traitement d’image qui vous permet de manipuler les formats d’image populaires à partir de vos applications .NET. De plus, l’API vous permet d’appliquer différents types de compression aux images, notamment PNG, JPEG et TIFF. Pour utiliser l’API, vous pouvez soit télécharger sa DLL, soit l’installer à l’aide de NuGet.

Install-Package Aspose.Imaging

Compresser les images PNG en C#

Pour les images PNG, vous pouvez définir le niveau de compression de 0 à 9 où 9 est la compression maximale et 0 est le mode de stockage. Voici les étapes pour compresser une image PNG en utilisant Aspose.Imaging for .NET.

L’exemple de code suivant montre comment compresser des images PNG à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_PNG();
 
// Charger une image à partir d'un fichier (ou d'un flux)
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
    // Boucle sur la plage CompressionLevel possible
    for (int i = 0; i <= 9; i++)
    {
        // Créez une instance de PngOptions pour chaque PNG résultant, définissez le niveau de compression et enregistrez le résultat sur le disque
        PngOptions options = new PngOptions();
        options.CompressionLevel = i;
        image.Save(i + "_out.png", options);
    }
}

Compresser les images JPEG en C#

Afin de traiter les images JPEG, Aspose.Imaging for .NET fournit la classe JpegOptions qui offre les types de compression suivants pour les images JPEG.

  • Ligne de base
  • Progressive
  • Sans perte
  • JpegLs

Voici les étapes pour compresser des images JPEG en utilisant l’un des types de compression mentionnés ci-dessus.

L’exemple de code suivant montre comment compresser une image JPEG à l’aide de C#.

// Chemin d'accès au répertoire des documents.
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);
}

Appliquer la compression sur les images TIFF en C#

Aspose.Imaging for .NET fournit une large gamme de types de compression pour les images TIFF, y compris LZW, Packbits, CCIT Fax 3 & 4, etc. Vous pouvez sélectionner le type approprié selon vos besoins. Voici les étapes pour compresser une image TIFF.

L’exemple de code suivant montre comment compresser des images TIFF à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();

// Charger une image via l'emplacement du chemin de fichier ou le flux
Image image = Image.Load(dataDir + "SampleTiff.tiff");

// Créer une instance de TiffOptions pour l'image résultante
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

// Définissez BitsPerSample, Compression, Mode photométrique et palette de niveaux de gris
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);

Conclusion

Dans cet article, vous avez appris à compresser des images PNG, JPEG et TIFF à l’aide de C#. Diverses techniques de compression prises en charge ont également été répertoriées pour les images JPEG et TIFF. Vous pouvez en savoir plus sur l’API de traitement d’image .NET à l’aide de documentation.

Voir également

Info : En utilisant le convertisseur Aspose JPG vers PPT ou PNG vers PPT, vous pouvez générer des présentations PowerPoint à partir d’images simples.