Redimensionner les images C#

Le redimensionnement d’image est une opération courante dans le traitement d’image, utile dans divers scénarios tels que la préparation d’images pour la publication sur le web, les vignettes ou la réduction de la taille des fichiers. Dans cet article, nous allons explorer comment redimensionner des images en C#. Vous apprendrez à redimensionner des images raster comme JPG ou PNG, à effectuer des redimensionnements proportionnels et à manipuler des images vectorielles telles que les SVG avec précision.

Pourquoi redimensionner les images en C# ?

Redimensionner les images par programmation vous donne la possibilité d’automatiser et d’évoluer les tâches de traitement d’images sans intervention manuelle. Voici quelques raisons pour lesquelles cela est nécessaire :

  • Cela aide à optimiser les tailles d’image pour réduire les temps de chargement et l’utilisation de la bande passante dans les applications web.
  • Assure un affichage cohérent sur différentes plateformes et tailles d’écran.
  • Aide à générer des aperçus d’image et des vignettes dynamiquement.
  • Permet des ajustements d’image automatisés dans des flux de travail tels que la génération de documents, l’archivage ou la publication.

Redimensionner les images - Installation de l’API C#

Vous pouvez installer la dernière version stable de Conholdate.Total for .NET en utilisant la commande d’installation NuGet suivante sur votre système :

PM> NuGet\Install-Package Conholdate.Total

Redimensionner les images en C#

Commençons par le redimensionnement de base des images raster telles que les JPG en utilisant des dimensions fixes en C#. Suivez simplement les étapes ci-dessous :

  1. Charger une image JPG à partir du fichier en utilisant Image.Load().
  2. Appelez la méthode Resize() pour définir la largeur et la hauteur à 300 pixels chacune.
  3. Enregistrez l’image redimensionnée en utilisant image.Save().

Le code d’exemple ci-dessous démontre le redimensionnement d’images en C#:

// Load image
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Redimensionner l'image et enregistrer l'image redimensionnée
    image.Resize(300, 300);
    image.Save("SimpleResizing_out.jpg");
}

Redimensionner les images proportionnellement en C#

Cette section démontre comment redimensionner une image PNG tout en maintenant son rapport d’aspect original en C#.

  1. Charger l’image PNG en utilisant Image.Load().
  2. Vérifiez si l’image est mise en cache ; sinon, appelez CacheData() pour des performances optimales.
  3. Divisez la largeur et la hauteur actuelles par 2 pour calculer les nouvelles dimensions proportionnelles.
  4. Utilisez ResizeWidthProportionally() et ResizeHeightProportionally() pour maintenir le rapport d’aspect.
  5. Sauvegardez l’image redimensionnée avec la méthode image.Save().

Le code suivant montre le redimensionnement proportionnel des images en C#:

// Load image
using (Image image = Image.Load("aspose-logo.png"))
{
    // Cache image data
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Précisez la largeur et la hauteur
    int newWidth = image.Width / 2;
    image.ResizeWidthProportionally(newWidth);
    int newHeight = image.Height / 2;
    image.ResizeHeightProportionally(newHeight);
    
    // Enregistrer l'image
    image.Save("ResizeImageProportionally_out.png");

Redimensionner des images vectorielles en C#

Cet exemple illustre comment redimensionner une image vectorielle (SVG) en C#::

  1. Charger une image vectorielle SVG en utilisant Image.Load().
  2. Multiplier la largeur et la hauteur actuelles par des facteurs d’échelle (10 et 15).
  3. Appelez Resize() avec la nouvelle largeur et hauteur.
  4. Sauvegardez l’image redimensionnée au format PNG en utilisant image.Save() avec PngOptions.
  5. Spécifiez les SvgRasterizationOptions pour garantir un rendu correct de l’image vectorielle.

L’exemple de code ci-dessous explique comment redimensionner des images vectorielles en C#:

// Load image
using (Image image = Image.Load("image.svg"))
 {
    // Redimensionner l'image en tant que PNG
    image.Resize(image.Width * 10,image.Height * 15);
    image.Save("Logotype_10_15.png", new PngOptions()
    {
        VectorRasterizationOptions = new SvgRasterizationOptions()
    });
 }

Licence d’évaluation gratuite

Vous pouvez évaluer ces fonctionnalités ainsi que de nombreuses autres offertes par l’API en obtenant une licence temporaire gratuite .

Résumer

Le redimensionnement d’images est une fonction essentielle pour les applications qui gèrent, affichent ou exportent du contenu visuel. Avec Conholdate.Total pour .NET, redimensionner des images en C# devient efficace et convivial pour les développeurs. Il prend en charge une variété de formats et offre un contrôle précis sur le comportement de redimensionnement, que vous travailliez avec des dimensions fixes, en maintenant les rapports d’aspect, ou en convertissant des images vectorielles. Cependant, si vous avez des questions, n’hésitez pas à nous contacter à forum.

Voir aussi