redimensionner les images en c#

Nous obtenons souvent des images dont la taille ne répond pas à nos exigences, nous devons donc les redimensionner en conséquence. Dans cet article, vous apprendrez à redimensionner des images à l’aide de C# à partir de vos applications .NET. De plus, vous apprendrez à redimensionner explicitement les images raster et les images vectorielles.

API .NET pour redimensionner les images

Pour redimensionner les images. nous utiliserons Aspose.Imaging for .NET. Il s’agit d’une puissante API de traitement d’images permettant de manipuler divers types d’images raster et vectorielles. Vous pouvez télécharger la DLL de l’API ou l’installer via NuGet.

PM> Install-Package Aspose.Imaging

Redimensionner les images raster à l’aide de C#

Il existe deux méthodes pour redimensionner les images raster (PNG, GIF, JPEG, etc.) : le redimensionnement simple et le redimensionnement à l’aide d’un type de redimensionnement. Dans le redimensionnement simple, les images sont redimensionnées en fournissant la hauteur et la largeur. Alors que la deuxième méthode utilise différentes techniques de redimensionnement. Les sections suivantes montrent comment redimensionner une image à l’aide de chacune des méthodes mentionnées ci-dessus.

Redimensionnement simple d’une image

Voici les étapes pour redimensionner une image en C#.

  • Tout d’abord, chargez le fichier image à l’aide de la classe Image.
  • Ensuite, redimensionnez l’image en appelant la méthode Image.Resize(Int32, Int32).
  • Enfin, enregistrez l’image redimensionnée à l’aide de la méthode Image.Save(string).

L’exemple de code suivant montre comment redimensionner une image dans les applications .NET.

// Charger l'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 l’image à l’aide d’un type de redimensionnement

L’énumération ResizeType est utilisée pour spécifier les techniques de redimensionnement que vous pouvez utiliser selon vos besoins. La liste complète des types de redimensionnement pris en charge est disponible ici. Voici les étapes pour redimensionner une image à l’aide d’une technique de redimensionnement particulière.

L’exemple de code suivant redimensionne l’image à l’aide d’une technique de redimensionnement particulière.

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

Redimensionner l’image proportionnellement

Le redimensionnement des images en spécifiant la hauteur et la largeur peut entraîner une image réduite ou mise à l’échelle. Par conséquent, vous devez calculer le rapport d’aspect manuellement. Cependant, toute erreur de calcul dans le rapport d’aspect peut conduire à une image étirée. Pour éviter de tels problèmes, vous pouvez utiliser le redimensionnement proportionnel. Voici les étapes pour y parvenir.

Si vous souhaitez utiliser un type de redimensionnement particulier tout en redimensionnant les images proportionnellement, utilisez les méthodes de surcharge Image.ResizeWidthProportionally(Int32, ResizeType) et Image.ResizeHeightProportionally(Int32, ResizeType).

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

// Charger l'image
using (Image image = Image.Load("aspose-logo.png"))
{
    // Données d'image en cache
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Spécifiez 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 les images vectorielles en C#

Aspose.Imaging for .NET vous permet également de redimensionner les images vectorielles et de les enregistrer dans un format d’image raster. L’exemple de code suivant montre comment redimensionner une image SVG et enregistrer la sortie au format PNG.

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

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Imaging for .NET sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à redimensionner des images par programmation à l’aide de C#. De plus, les exemples de code ont montré comment effectuer un redimensionnement simple des images ou un redimensionnement à l’aide d’un type particulier. Nous avons également expliqué comment éviter le calcul manuel du rapport d’aspect lors du redimensionnement des images. De plus, le redimensionnement des images vectorielles est également abordé à la fin. En outre, vous pouvez en savoir plus sur l’API de traitement d’image .NET à l’aide de documentation. Vous pouvez également télécharger le package complet d’exemples de code source à partir de GitHub. En cas de questions, vous pouvez nous contacter sur notre forum.

Voir également