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
- Compresser les images PNG en C#
- Compresser les images JPEG en C#
- Appliquer la compression aux images TIFF en 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.
- Chargez l’image en utilisant la classe Image.
- Créez un objet de la classe PngOptions.
- Définissez le niveau de compression à l’aide de la propriété PngOptions.CompressionLevel.
- Enregistrez l’image à l’aide de la méthode Image.Save(String, PngOptions).
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.
- Chargez l’image JPEG à l’aide de la classe Image.
- Créez un objet de la classe JpegOptions.
- Définissez le mode couleur à l’aide de la propriété JpegOptions.ColorType.
- Définissez le type de compression à l’aide de la propriété JpegOptions.CompressionType.
- Enregistrez l’image à l’aide de la méthode Image.Save(String, JpegOptions).
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.
- Chargez l’image TIFF en utilisant la classe Image.
- Créez un objet de TiffOptions et initialisez-le avec la valeur d’énumération TiffExpectedFormat.Default.
- Réglez BitsPerSample, Compression, le mode Photometric et Palette pour l’image Tiff.
- Enregistrez l’image à l’aide de la méthode Image.Save(String, TiffOptions).
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.