Recadrer et redimensionner l'image JPEG à l'aide de C #

JPEG ou JPG est l’un des formats d’image les plus couramment utilisés pour stocker des images et des photos. Dans certains cas, nous pourrions avoir besoin de recadrer ou de faire pivoter des images pour diverses raisons. Dans cet article, nous allons apprendre à recadrer et redimensionner des images JPEG à l’aide de C#.

Les sujets suivants seront traités dans cet article:

API d’imagerie C # pour recadrer et redimensionner JPEG

Pour recadrer et redimensionner les images, nous utiliserons Aspose.Imaging for .NETAPI. Il nous permet de créer, charger, manipuler, convertir et compresser des images ou des photos par programmation. Veuillez soittéléchargerla DLL de l’API ou l’installer à l’aide deNuGet.

PM> Install-Package Aspose.Imaging

Recadrer des images JPEG à l’aide de C#

Nous pouvons facilement recadrer n’importe quelle image JPEG/JPG de tous les côtés vers le centre de l’image. À cette fin, la classe RasterImage fournit la méthode Crop(Int32, Int32, Int32, Int32) qui recadre l’image avec des valeurs de décalage spécifiées. Il prend les valeurs de décalage gauche, droite, haut et bas comme arguments pour recadrer les limites de l’image. Nous pouvons recadrer les images en utilisant l’approche de recadrage par décalage en suivant les étapes ci-dessous:

  1. Tout d’abord, chargez l’image JPG d’entrée à l’aide de la classe RasterImage.
  2. Ensuite, mettez l’image en cache à l’aide de la méthode CacheData.
  3. Après cela, appelez la méthode Crop() avec les valeurs de décalage comme arguments.
  4. Enfin, appelez la méthode Save() avec le chemin du fichier de sortie comme argument pour enregistrer le fichier image recadrée.

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

// Cet exemple de code montre comment recadrer une image JPG à l'aide de l'approche de recadrage par décalage.
// Charger une image existante dans une instance de la classe RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// Avant le recadrage, l'image doit être mise en cache pour de meilleures performances
if (!rasterImage.IsCached)
{
    rasterImage.CacheData();
}

// Définir les valeurs de décalage pour les quatre côtés
int leftShift = 30;
int rightShift = 30;
int topShift = 30;
int bottomShift = 30;

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

// Enregistrer l'image recadrée
rasterImage.Save(@"C:\Files\images\cropped_out.jpg");
Recadrer des images JPEG à l'aide de C #

Recadrez les images JPEG à l’aide de C#.

Recadrer les images à une taille spécifique à l’aide de C#

La classe RasterImage fournit également une méthode Crop(Rectangle) surchargée qui recadre une zone particulière d’une image à une taille spécifiée. Il prend une instance de la classe Rectangle comme argument. Nous pouvons recadrer les images à une taille spécifiée en suivant les étapes ci-dessous:

  1. Tout d’abord, chargez l’image JPG d’entrée à l’aide de la classe RasterImage.
  2. Ensuite, mettez l’image en cache à l’aide de la méthode CacheData.
  3. Ensuite, initialisez l’objet de classe Rectangle avec l’emplacement et la taille spécifiés.
  4. Après cela, appelez la méthode Crop() avec l’objet Rectangle créé comme argument.
  5. Enfin, appelez la méthode Save() avec le chemin du fichier de sortie comme argument pour enregistrer le fichier image recadrée .

L’exemple de code suivant montre comment recadrer une image JPEG à une taille spécifique à l’aide de C#.

// Cet exemple de code montre comment recadrer une image JPG à l'aide de l'approche de recadrage par rectangle.
// Charger une image existante dans une instance de la classe RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// 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
Rectangle rectangle = new Rectangle(35, 35, 580, 240);

// Effectuer l'opération de recadrage sur l'objet de la classe Rectangle
rasterImage.Crop(rectangle);

// Enregistrer l'image recadrée
rasterImage.Save(@"C:\Files\images\CroppingByRectangle_out.jpg");
Recadrer l'image dans une taille spécifique à l'aide de C #.

Recadrer l’image à une taille spécifique à l’aide de C#.

Redimensionner les images JPEG en C#

La classe Image fournit la méthode Resize() pour redimensionner les images. Nous pouvons redimensionner les images JPEG en suivant les étapes ci-dessous:

  1. Tout d’abord, chargez l’image JPG d’entrée à l’aide de la classe Image.
  2. Ensuite, appelez la méthode Resize(int32, int32) avec la largeur et la hauteur requises comme arguments.
  3. Enfin, appelez la méthode Save() avec le chemin du fichier de sortie comme argument pour enregistrer l’image redimensionnée .

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

// Cet exemple de code montre comment recadrer une image JPG à l'aide de l'approche de recadrage par rectangle.
// Charger une image existante
Image image = Image.Load(@"C:\Files\images\aspose_logo.jpg");

// Nouvelle largeur et hauteur
image.Resize(300, 100);

// Enregistrer l'image redimensionnée
image.Save(@"C:\Files\images\SimpleResizing_out.jpg");
Redimensionner les images JPEG en C#

Redimensionnez les images JPEG en C#.

Redimensionner les images JPEG proportionnellement en C#

Nous pouvons obtenir des images étirées lorsque nous redimensionnons avec une hauteur et une largeur fixes. Nous pouvons utiliser le redimensionnement proportionnel pour éviter les images étirées. À cette fin, la classe Image fournit les méthodes ResizeWidthProportionally(Int32) et ResizeHeightProportionally(Int32). Veuillez suivre les étapes ci-dessous pour redimensionner une image proportionnellement à la largeur et à la hauteur.

  1. Tout d’abord, chargez l’image JPG d’entrée à l’aide de la classe Image.
  2. Ensuite, appelez la méthode Image.ResizeWidthProportionally(Int32) avec la nouvelle largeur comme arguments.
  3. Après cela, appelez la méthode Image.ResizeHeightProportionally(Int32) avec la nouvelle hauteur comme arguments.
  4. Enfin, appelez la méthode Save() avec le chemin du fichier de sortie comme argument pour enregistrer l’image redimensionnée .

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

// Cet exemple de code montre comment recadrer une image JPG à l'aide de l'approche de recadrage par rectangle.
// Charger une image existante
Image image = Image.Load(@"C:\Files\images\sample.jpg");

// Largeur
int newLargeur = image.Largeur / 2;
image.ResizeLargeurProportionally(newLargeur);

// Hauteur
int newHauteur = image.Hauteur / 2;
image.ResizeHauteurProportionally(newHauteur);

// Définir les options de sauvegarde
JpegOptions saveOptions = new JpegOptions();
saveOptions.Quality = 100;

// Enregistrer l'image
image.Save(@"C:\Files\images\sample_out.jpg", saveOptions);

Obtenez une licence gratuite

Veuillez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, nous avons appris à:

  • recadrer les images JPEG en C# ;
  • recadrer une image à une taille spécifique ;
  • redimensionner les images JPEG par programmation ;
  • redimensionner les images JPEG proportionnellement.

En outre, vous pouvez en savoir plus sur l’API Aspose.Imaging pour .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également