Outil Baguette Magique Java

Aspose.Imaging for Java est une bibliothèque puissante et polyvalente qui offre aux développeurs un large éventail de fonctionnalités pour travailler avec des images. L’une des fonctionnalités clés offertes par la bibliothèque est l’outil Magic Wand, qui permet une sélection précise et efficace des zones d’une image en fonction de la similarité des couleurs. Dans cet article de blog, nous explorerons comment utiliser l’outil Magic Wand sur une image en Java.

Outil Baguette Magique

L’outil Magic Wand est une fonctionnalité utile fournie dans les logiciels de retouche d’images, tels qu’Adobe Photoshop. Il est utilisé pour sélectionner des zones de couleurs ou de tons similaires dans une image. L’outil fonctionne en cliquant sur un point spécifique de l’image et sélectionne automatiquement les zones contiguës qui ont des valeurs de couleur ou de tons similaires en fonction d’un paramètre de tolérance. Voyons comment nous pouvons utiliser l’outil Magic Wand par programmation dans les applications Java.

Outil Baguette Magique pour Java

Nous utiliserons l’outil Magic Wand fourni par Aspose.Imaging for Java - une API qui permet aux développeurs de travailler avec différents formats d’image dans leurs applications Java. Il permet d’effectuer un large éventail de tâches liées au traitement et à la manipulation d’images, telles que l’édition, la conversion, la compression et le réglage des couleurs.

Pour installer Aspose.Imaging for Java, utilisez les configurations Maven suivantes ou téléchargez le fichier JAR.

<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>23.10</version>
    <classifier>jdk16</classifier>
</dependency>

Utiliser l’outil Baguette Magique en Java

La classe MagicWandTool vous permet d’exécuter des opérations de sélection, d’union, d’inversion et de soustraction sur une image. Lorsque vous choisissez une zone de couleur spécifique dans une image, vous devez spécifier les coordonnées X et Y dans la région souhaitée. L’outil Baguette Magique évalue ensuite le ton et la couleur du pixel sélectionné par rapport à ses pixels voisins. Lorsqu’une similarité est détectée, l’outil génère un masque pour la région sélectionnée.

En utilisant la classe MagicWandSettings, vous pouvez définir la tolérance. Une valeur de tolérance plus élevée signifie qu’une gamme plus large de couleurs sera incluse dans la sélection, tandis qu’une valeur de tolérance inférieure limite la sélection à une gamme plus étroite de couleurs similaires.

Voici les étapes pour utiliser l’outil Magic Wand en Java.

  • Tout d’abord, chargez l’image en tant que RasterImage à l’aide de la méthode Image.load.
  • Ensuite, créez une instance de la classe MagicWandSettings et initialisez-la avec les coordonnées de référence X et Y.
  • Créez un nouveau masque avec l’outil Magic Wand basé sur le ton et la couleur du pixel à l’aide de la méthode MagicWandTool.select.
  • Utilisez les fonctions Magic Wand souhaitées sur l’image.
  • Appelez la méthode apply() pour appliquer le masque.
  • Enfin, enregistrez l’image à l’aide de la méthode Image.save().

Voir références des classes et méthodes utilisées dans les étapes ci-dessus.

L’extrait de code suivant montre comment utiliser l’outil Magic Wand sur une image en Java.

import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.magicwand.*;
import com.aspose.imaging.magicwand.imagemasks.*;

// obtenir le chemin des données d'entrée
String templatesFolder = System.getenv("DATA_PATH");
// obtenir le chemin de sortie
String outputFolder = System.getenv("OUT_PATH");

if (templatesFolder == null)
   templatesFolder = "data";

if (outputFolder == null)
  outputFolder = "out";


try (RasterImage image = (RasterImage)Image.load(templatesFolder + "/template.png"))
{
	// Créez un nouveau masque à l'aide de l'outil Baguette magique basé sur le ton et la couleur du pixel {845, 128}
	MagicWandTool.select(image, new MagicWandSettings(10, 10))
		// Union du masque existant avec celui spécifié créé par l'outil baguette magique
		.union(new MagicWandSettings(30, 30))
		// Inverser le masque existant
		.invert()
		// Soustrayez le masque spécifié créé par l'outil baguette magique de celui existant 
		.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
		// Soustrayez quatre masques rectangulaires spécifiés du masque existant, un par un.
		.subtract(new RectangleMask(0, 0, 50, 50))
		// Masque de plumes avec paramètres spécifiés
		.getFeathered(new FeatheringSettings() {{ setSize(3); }})
		// Appliquer un masque à l'image
		.apply();
	image.save(outputFolder + "/result.png");
}

Obtenez une licence gratuite

Obtenez une licence temporaire gratuite et évaluez l’outil Java Magic Wand sans aucune limitation.

Conclusion

Dans cet article de blog, nous avons exploré l’outil Magic Wand en Java à l’aide d’une puissante bibliothèque de traitement d’image qui permet aux développeurs d’effectuer une sélection d’images en fonction de la similarité des couleurs. En suivant les étapes décrites dans ce guide, vous pouvez intégrer de manière transparente l’outil Magic Wand dans vos applications Java et débloquer un large éventail de possibilités de manipulation et d’édition d’images.

Aspose.Imaging for Java fournit un ensemble complet de fonctionnalités pour travailler avec des images. Vous pouvez en savoir plus sur la bibliothèque en utilisant documentation. Vous pouvez également poster vos requêtes sur notre forum.

Voir également