Strumento bacchetta magica Java

Aspose.Imaging for Java è una libreria potente e versatile che fornisce agli sviluppatori un’ampia gamma di funzionalità per lavorare con le immagini. Una delle funzionalità chiave offerte dalla libreria è lo strumento Bacchetta magica, che consente una selezione precisa ed efficiente delle aree di un’immagine in base alla somiglianza dei colori. In questo post del blog esploreremo come utilizzare lo strumento Bacchetta magica su un’immagine in Java.

Strumento bacchetta magica

Lo strumento Bacchetta magica è una funzionalità utile fornita nei software di modifica delle immagini, come Adobe Photoshop. Viene utilizzato per selezionare aree di colori o tonalità simili in un’immagine. Lo strumento funziona facendo clic su un punto specifico dell’immagine e seleziona automaticamente aree contigue che hanno valori di colore o tonali simili in base a un’impostazione di tolleranza. Vediamo come possiamo utilizzare lo strumento Bacchetta magica a livello di programmazione nelle applicazioni Java.

Strumento bacchetta magica per Java

Utilizzeremo lo strumento Bacchetta magica fornito da Aspose.Imaging for Java, un’API che consente agli sviluppatori di lavorare con vari formati di immagine nelle loro applicazioni Java. Consente di eseguire un’ampia gamma di attività relative all’elaborazione e alla manipolazione delle immagini, come modifica, conversione, compressione e regolazione del colore.

Per installare Aspose.Imaging for Java, utilizzare le seguenti configurazioni Maven o scaricare il file 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>

Utilizzo dello strumento bacchetta magica in Java

La classe MagicWandTool consente di eseguire operazioni di selezione, unione, inversione e sottrazione su un’immagine. Quando si sceglie un’area di colore specifica all’interno di un’immagine, è necessario specificare le coordinate X e Y all’interno dell’area desiderata. Lo strumento Bacchetta magica valuta quindi il tono e il colore del pixel selezionato rispetto ai pixel vicini. Quando viene rilevata una somiglianza, lo strumento genera una maschera per la regione selezionata.

Utilizzando la classe MagicWandSettings, è possibile impostare la tolleranza. Un valore di tolleranza più alto significa che nella selezione verrà inclusa una gamma più ampia di colori, mentre un valore di tolleranza più basso limita la selezione a una gamma più ristretta di colori simili.

Di seguito sono riportati i passaggi per utilizzare lo strumento Bacchetta magica in Java.

  • Innanzitutto, carica l’immagine come RasterImage utilizzando il metodo Image.load.
  • Quindi, crea un’istanza della classe MagicWandSettings e inizializzala con le coordinate di riferimento X e Y.
  • Crea una nuova maschera con lo strumento Bacchetta magica in base al tono e al colore del pixel utilizzando il metodo MagicWandTool.select.
  • Utilizzare le funzioni desiderate della bacchetta magica sull’immagine.
  • Chiama il metodo apply() per applicare la maschera.
  • Infine, salva l’immagine utilizzando il metodo Image.save().

Vedere riferimenti delle classi e dei metodi utilizzati nei passaggi precedenti.

Il seguente frammento di codice mostra come utilizzare lo strumento Bacchetta magica su un’immagine in Java.

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

// ottenere il percorso dei dati di input
String templatesFolder = System.getenv("DATA_PATH");
// ottenere il percorso di output
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"))
{
	// Crea una nuova maschera utilizzando lo strumento bacchetta magica in base al tono e al colore del pixel {845, 128}
	MagicWandTool.select(image, new MagicWandSettings(10, 10))
		// Unisci la maschera esistente con quella specificata creata dallo strumento bacchetta magica
		.union(new MagicWandSettings(30, 30))
		// Invertire la maschera esistente
		.invert()
		// Sottrai la maschera specificata creata dallo strumento bacchetta magica da quella esistente 
		.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
		// Sottrai quattro maschere rettangolari specificate dalla maschera esistente una per una
		.subtract(new RectangleMask(0, 0, 50, 50))
		// Maschera di piume con impostazioni specificate
		.getFeathered(new FeatheringSettings() {{ setSize(3); }})
		// Applica la maschera all'immagine
		.apply();
	image.save(outputFolder + "/result.png");
}

Ottieni una licenza gratuita

Ottieni una licenza temporanea gratuita e valuta lo strumento Java Magic Wand senza alcuna limitazione.

Conclusione

In questo post del blog, abbiamo esplorato lo strumento Bacchetta magica in Java utilizzando una potente libreria di elaborazione delle immagini che consente agli sviluppatori di eseguire la selezione delle immagini in base alla somiglianza dei colori. Seguendo i passaggi descritti in questa guida, puoi integrare perfettamente lo strumento Bacchetta magica nelle tue applicazioni Java e sbloccare un’ampia gamma di possibilità per la manipolazione e la modifica delle immagini.

Aspose.Imaging for Java fornisce un set completo di funzionalità per lavorare con le immagini. Puoi esplorare di più sulla libreria utilizzando documentazione. Inoltre, puoi pubblicare le tue domande sul nostro forum.

Guarda anche