Crop Images C#

Travailler avec des images de manière programmatique en C# permet aux développeurs d’effectuer diverses manipulations telles que le redimensionnement, la rotation et le recadrage. Parmi ces tâches, le recadrage est particulièrement utile lorsque vous souhaitez extraire une zone spécifique d’une image ou supprimer des marges indésirables. Dans ce guide, nous nous concentrerons sur la façon de recadrer des images en C# en utilisant Conholdate.Total pour .NET.

Nous vous guiderons à travers deux techniques de recadrage différentes, l’une utilisant des valeurs de décalage pour rogner l’image de tous les côtés, et l’autre en définissant un rectangle personnalisé pour isoler une portion spécifique de l’image. Chaque section contient des extraits de code bien documentés et des idées pratiques pour des applications dans le monde réel.

Pourquoi recadrer des images par programmation en C# ?

Il existe plusieurs scénarios où le recadrage programmatique des images est bénéfique :

  • Focus sur le contenu : Le recadrage vous permet de mettre en évidence une partie spécifique d’une image, ce qui le rend idéal pour les photos de profil, les vignettes ou les numérisations de documents.

  • Traitement d’image automatisé : Dans les applications impliquant le traitement d’images en masse ou le contenu téléchargé par les utilisateurs, l’automatisation du processus de recadrage rationalise les flux de travail et élimine l’effort manuel.

  • Conformité et confidentialité : Le rognage peut être utilisé pour supprimer des données sensibles ou non pertinentes avant de partager des images.

Le recadrage n’est pas seulement un ajustement esthétique, c’est une partie cruciale du traitement des données, de la conception UX et de la performance du système.

Recadrer des images JPG PNG BMP - Configuration de l’API .NET

Vous pouvez configurer Conholdate.Total pour .NET facilement avec la commande d’installation NuGet ci-dessous :

Install-Package Conholdate.Total

Recadrer des images en décalant les côtés en C#

La première méthode montre comment recadrer une image en déplaçant ses bordures vers l’intérieur. Cela est particulièrement utile lorsque vous souhaitez tailler les marges de manière uniforme ou asymétrique par le haut, le bas, la gauche et la droite de l’image.

// Load the image to be cropped.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Before cropping, the image should be cached for better performance.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Define shift values for all four sides.
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // Based on the shift values, apply the cropping on image. Crop method will shift the image bounds toward the center of image.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // Save cropped image.
    rasterImage.Save("cropped.png");
}

Dans cet exemple, nous chargeons une image PNG et spécifions le nombre de pixels à supprimer de chaque côté. La méthode Crop ajuste commodément les dimensions de l’image vers l’intérieur, éliminant les bordures inutiles tout en préservant l’intégrité de l’image. En utilisant cette méthode, vous pouvez obtenir un recadrage cohérent basé sur les bords, idéal pour les documents numérisés, les captures d’écran et les bordures d’image.

Recadrer des images en utilisant un rectangle défini en C#

La deuxième méthode offre une plus grande précision en vous permettant de définir la zone exacte à conserver à l’aide d’une limite rectangulaire. Cette approche est idéale lorsque vous connaissez les coordonnées et la taille de la région souhaitée dans l’image.

// Load the image.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Before cropping, the image should be cached for better performance.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Create an instance of Rectangle class with desired size and crop the image.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);
    rasterImage.Crop(rectangle);

    // Save cropped image.
    rasterImage.Save("cropped.png");
}

Cette méthode est particulièrement utile lorsque vous devez isoler une section particulière d’une image, comme une zone de produit dans une photo de commerce électronique, un bloc de texte d’un document numérisé, ou une région d’intérêt dans un diagramme. Définir et appliquer un tel rectangle est à la fois intuitif et très efficace.

Licencie d’évaluation gratuite

Vous pouvez obtenir une licence temporaire gratuite pour évaluer de nombreuses autres fonctionnalités offertes par l’API à leur pleine capacité.

Conclusion

Le rognage d’images en C# n’a pas à être compliqué. Que vous ayez besoin de supprimer des bordures ou d’extraire une région spécifique, vous pouvez réaliser la tâche rapidement et avec précision. Avec le support à la fois pour le rognage basé sur les décalages et le rognage basé sur des rectangles, vous avez la flexibilité d’aborder un large éventail de cas d’utilisation du monde réel, de l’imagerie documentaire à la personnalisation de contenu.

En intégrant ces capacités dans vos applications .NET, vous pouvez automatiser les tâches d’édition d’images, améliorer l’expérience utilisateur et maintenir une mise en forme cohérente à travers de grands ensembles de données.

See Also