Recadrer des images en C#

L’édition d’images est assez courante de nos jours et dans divers cas, nous devons manipuler les images pour obtenir les résultats souhaités. En tant que programmeur, vous pourriez être amené à implémenter les fonctionnalités d’édition d’images à partir des applications que vous créez. Récemment, nous avons expliqué comment redimensionner, faire pivoter et retourner des images par programmation. Aujourd’hui, nous allons vous montrer comment recadrer des images à l’aide de C# dans vos applications .NET. Nous verrons comment effectuer un recadrage d’image en utilisant des valeurs de décalage ou avec un rectangle.

API C# pour recadrer des images - Téléchargement gratuit

Pour le recadrage d’image en C#, nous utiliserons Aspose.Imaging for .NET. Il s’agit d’une API riche en fonctionnalités pour manipuler de manière transparente les images des formats populaires. Vous pouvez télécharger l’API ou l’installer dans vos applications .NET à l’aide de NuGet.

PM> Install-Package Aspose.Imaging

Recadrer des images en C#

Aspose.Imaging for .NET propose deux façons de recadrer une image. Dans la première méthode, nous devons fournir des valeurs de décalage gauche, droite, haut et bas. Alors que, dans la deuxième méthode, nous définissons un rectangle pour recadrer une certaine zone d’une image.

Dans les sections suivantes, nous montrerons comment utiliser les deux méthodes mentionnées ci-dessus pour recadrer des images en C#.

Recadrer des images avec des valeurs de décalage en C

Voici les étapes à suivre pour recadrer une image à l’aide de valeurs de décalage en C#.

  • Tout d’abord, chargez l’image dans un objet RasterImage en utilisant la méthode Image.Load().
  • Mettez l’image en cache pour de meilleures performances.
  • Définissez les valeurs de décalage gauche, droite, haut et bas.
  • Passez les valeurs de décalage à la méthode RasterImage.Crop() pour recadrer l’image.
  • Enregistrez l’image recadrée à l’aide de la méthode RasterImage.Save().

L’exemple de code suivant montre comment rogner une image en C#.

// Chargez l'image à recadrer.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Avant le recadrage, l'image doit être mise en cache pour de meilleures performances.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Définissez les valeurs de décalage pour les quatre côtés.
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // En fonction des valeurs de décalage, appliquez le recadrage sur l'image. La méthode de recadrage décalera les limites de l'image vers le centre de l'image.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // Enregistrer l'image recadrée.
    rasterImage.Save("cropped.png");
}

Voici l’image d’entrée que nous avons utilisée pour le recadrage.

recadrer l'image en C#

Ci-dessous se trouve l’image recadrée résultante.

recadrage d'image en C#

Recadrage d’image C# à l’aide d’un rectangle

Vous pouvez également définir un rectangle pour recadrer la zone souhaitée d’une image. Les étapes suivantes illustrent le recadrage d’image avec un rectangle en C#.

  • Tout d’abord, chargez l’image dans un objet RasterImage en utilisant la méthode Image.Load().
  • Ensuite, mettez l’image en cache.
  • Créez un objet Rectangle et initialisez-le avec la taille souhaitée.
  • Passez l’objet Rectangle à la méthode RasterImage.Crop() pour recadrer l’image.
  • Enregistrez l’image recadrée à l’aide de la méthode RasterImage.Save().

L’exemple de code suivant montre comment effectuer un recadrage d’image avec un rectangle en C#.

// Chargez l'image.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Avant le recadrage, l'image doit être mise en cache pour de meilleures performances.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Créez une instance de la classe Rectangle avec la taille souhaitée et recadrez l'image.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);             
    rasterImage.Crop(rectangle);

    // Enregistrer l'image recadrée.
    rasterImage.Save("cropped.png");
}

API de recadrage d’imagerie pour C# - Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite et recadrer des images sans limitation d’évaluation.

Construisez votre application de recadrage d’image

Dans cet article, vous avez appris à recadrer des images en C#. Nous avons démontré plusieurs façons de recadrer une image en utilisant des valeurs de décalage ou avec un rectangle. Désormais, vous pouvez facilement créer votre application de recadrage d’images ou améliorer les capacités d’édition d’images de l’application existante. Pour en savoir plus sur l’API d’édition d’images C#, vous pouvez consulter la documentation. Vous pouvez également partager vos questions avec nous via notre forum.

Voir également