Redimensionner l'image à l'aide du redimensionneur d'image Java

Les éditeurs d’images fournissent une fonction de redimensionnement qui vous permet de modifier la taille des images selon vos besoins. Lors de la conception d’un éditeur d’images ou du traitement d’images à partir de vos applications Java, vous devrez peut-être redimensionner les images par programmation. Pour ce faire, cet article explique comment redimensionner des images en Java. De plus, vous apprendrez également à redimensionner des images en utilisant différentes techniques de redimensionnement.

API Java pour redimensionner les images

Aspose.Imaging for Java est une API de traitement d’image largement utilisée qui vous permet de manipuler des images assez facilement. Nous utiliserons cette API pour redimensionner les images dans cet article. Vous pouvez télécharger l’API à partir de la section téléchargements. Vous pouvez également l’installer à partir de Maven en utilisant la configuration suivante dans pom.xml.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.12</version>
    <classifier>jdk16</classifier>
</dependency>

Redimensionner les images raster en Java

Aspose.Imaging for Java propose deux façons de redimensionner les images raster. L’un est un simple redimensionnement dans lequel vous fournissez la hauteur et la largeur de l’image résultante. Alors que, dans la deuxième méthode, vous spécifiez également un type de redimensionnement qui indique à l’API la technique de redimensionnement à utiliser, telle que le rééchantillonnage de Lanczos, le rééchantillonnage du voisin le plus proche, etc. Dans les sections suivantes, nous verrons comment implémenter chacun de ces méthodes pour redimensionner les images.

Redimensionner une image avec un redimensionnement simple

Dans cette méthode de redimensionnement, vous n’avez qu’à fournir les dimensions de l’image résultante. Voici les étapes pour redimensionner une image en Java.

  • Tout d’abord, utilisez la classe Image pour charger l’image que vous souhaitez redimensionner.
  • Ensuite, appelez la méthode Image.resize(int, int) pour redimensionner l’image.
  • Enfin, enregistrez l’image résultante à l’aide de la méthode Image.save(string).

L’extrait de code suivant redimensionne une image à la hauteur et à la largeur fournies.

// Charger l'image
Image image = Image.load("aspose-logo.jpg");

// Définir de nouvelles dimensions
image.resize(300, 300);

// Enregistrer l'image
image.save("SimpleResizing_out.jpg");

Redimensionner l’image à l’aide d’un type de redimensionnement

Aspose.Imaging for Java fournit un large éventail de techniques de redimensionnement, qui sont répertoriées ici. Vous pouvez en choisir un qui convient à votre scénario. Par exemple, le rééchantillonnage Lanczos est recommandé pour un redimensionnement d’image de qualité, mais il fonctionne plus lentement. Alors que, pour un redimensionnement rapide, le rééchantillonnage du voisin le plus proche est utilisé, il compromet la qualité de l’image. Voici les étapes pour redimensionner une image à l’aide d’une technique de redimensionnement particulière.

  • Tout d’abord, utilisez la classe Image pour charger l’image que vous souhaitez redimensionner.
  • Ensuite, appelez la méthode Image.resize(int, int, ResizeType) pour redimensionner l’image en utilisant une technique particulière.
  • Enfin, enregistrez l’image résultante à l’aide de la méthode Image.save(string).

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

// Charger l'image
Image image = Image.load("aspose-logo.jpg");

// Définir de nouvelles dimensions et redimensionner le type
image.resize(300, 300, ResizeType.LanczosResample);

// Enregistrer l'image
image.save("SimpleResizing_out.jpg");

Redimensionnement d’image proportionnel en Java

Le rapport d’aspect est calculé lors du redimensionnement des images pour éviter les images résultantes rétrécies ou mises à l’échelle. Cependant, toute erreur de calcul du format d’image peut entraîner des images étirées. Pour vous débarrasser de ces problèmes, vous pouvez laisser l’API s’occuper du rapport d’aspect lui-même. Voici les étapes pour redimensionner une image proportionnellement.

Vous pouvez également spécifier un type de redimensionnement particulier tout en redimensionnant l’image proportionnellement à l’aide des méthodes de surcharge Image.resizeWidthProportionally(int, ResizeType) et Image.resizeHeightProportionally(int, ResizeType).

L’exemple de code Java suivant montre comment redimensionner une image proportionnellement.

// Charger l'image
Image image = Image.load("aspose-logo.jpg");

// Définir de nouvelles dimensions
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Enregistrer l'image
image.save("SimpleResizing_out.jpg");

Redimensionnement des images vectorielles en Java

Vous pouvez également redimensionner une image vectorielle et l’enregistrer dans un format d’image raster tel que PNG, JPEG, GIF, etc. Le code suivant montre comment y parvenir en Java à l’aide d’Aspose.Imaging.

// Charger l'image vectorielle
try (Image image = Image.load("image.svg"))
{
  	// Définir de nouvelles dimensions
	image.resize(image.getWidth() * 10,image.getHeight() * 15);
  
  	// Enregistrer l'image au format PNG
	image.save("Logotype_10_15.png", new PngOptions());
}

Obtenez une licence API gratuite

Vous pouvez utiliser Aspose.Imaging for Java sans limitation d’évaluation en obtenant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à redimensionner des images par programmation en Java. En outre, l’article a expliqué comment redimensionner les images à l’aide de différentes techniques telles que le rééchantillonnage de Lanczos, le rééchantillonnage du voisin le plus proche, etc. En outre, le redimensionnement proportionnel de l’image et le redimensionnement des images vectorielles sont également abordés. Vous pouvez visiter documentation pour en savoir plus sur l’API de traitement d’image Java. En outre, vous pouvez apprendre des exemples de code source disponibles sur GitHub. En cas de questions, vous pouvez nous joindre sur notre forum.

Voir également