Recadrer des images en Java

Dans les articles de blog précédents, nous vous avons montré comment implémenter diverses fonctionnalités d’édition d’images telles que le redimensionnement, le retournement et la rotation des images. Parallèlement à ces fonctionnalités, le recadrage d’image est extrêmement utilisé pour rogner les zones indésirables des images. En outre, vous recadrez une image pour vous concentrer sur un objet particulier dans le cadre. Dans cet article, vous apprendrez à recadrer des images par programmation en Java. Nous montrerons comment recadrer une image en utilisant des valeurs de décalage ou avec un rectangle.

API Java pour recadrer les images - Téléchargement gratuit

Aspose.Imaging for Java est une API d’édition d’images étonnante qui fournit un large éventail de fonctionnalités pour manipuler les images. De plus, il prend en charge une variété de formats d’images raster et vectorielles. Nous utiliserons cette API pour recadrer les images depuis notre application Java. Vous pouvez soit télécharger l’API ou l’installer à l’aide des configurations Maven suivantes.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>22.9</version>
</dependency>

Recadrer des images en Java

Il existe deux manières de recadrer une image raster : les valeurs de décalage et le rectangle. Dans la première méthode, nous devons fournir des valeurs de décalage gauche, droite, haut et bas pour recadrer une image. Alors que, dans la deuxième méthode, nous définissons un rectangle pour recadrer une certaine zone d’une image.

Jetons un coup d’œil à chacune des méthodes mentionnées ci-dessus pour recadrer des images en Java.

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

Voici les étapes pour recadrer une image à l’aide des valeurs de décalage en Java.

  • Tout d’abord, chargez l’image dans un objet RasterImage en utilisant la méthode Image.load().
  • Mettez l’image en cache si ce n’est pas le cas.
  • Définissez les valeurs de décalage gauche, droite, haut et bas.
  • Recadrer l’image à l’aide de la méthode RasterImage.crop().
  • Enregistrez l’image recadrée à l’aide de la méthode RasterImage.save().

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

// Charger une image.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// 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 = 10;
	int bottomShift = 10;

	// En fonction des valeurs de décalage, appliquez le recadrage sur l'image. La méthode de culture changera
	// l'image se dirige vers le centre de l'image et enregistre les résultats sur le disque.
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

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

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

recadrer l'image en Java

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

recadrage d'image en Java

Recadrage d’image Java à 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 à l’aide d’un rectangle en Java.

  • Tout d’abord, chargez l’image dans un objet RasterImage en utilisant la méthode Image.load().
  • Mettez l’image en cache si ce n’est pas le cas.
  • Créez un objet Rectangle et initialisez-le avec la taille souhaitée.
  • Recadrez l’image à l’aide de la méthode RasterImage.crop().
  • 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 Java.

// Charger une image.
try (RasterImage rasterImage = (RasterImage) Image.load("image.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(20, 20, 20, 20);
	
	// Recadrer l'image.
	rasterImage.crop(rectangle);

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

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

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

Conclusion

Dans cet article, vous avez appris à recadrer des images en Java. Nous avons démontré plusieurs façons de recadrer une image en utilisant des valeurs de décalage ou un rectangle. De plus, vous pouvez en savoir plus sur l’API de traitement d’image Java à l’aide de documentation. Vous pouvez également partager vos questions avec nous via notre forum.

Voir également