Java Magic Wand Tool

Aspose.Imaging för Java är ett kraftfullt och mångsidigt bibliotek som ger utvecklare ett brett utbud av funktioner för att arbeta med bilder. En av nyckelfunktionerna som erbjuds av biblioteket är verktyget Magic Wand, som tillåter exakt och effektivt urval av områden i en bild baserat på färglikhet. I det här blogginlägget kommer vi att utforska hur man använder Magic Wand-verktyget på en bild i Java.

Magisk stav verktyg

Verktyget Magic Wand är en användbar funktion i bildredigeringsprogram, som Adobe Photoshop. Den används för att välja områden med liknande färger eller toner i en bild. Verktyget fungerar genom att klicka på en specifik punkt i bilden, och det väljer automatiskt sammanhängande områden som har liknande färg- eller tonvärden baserat på en toleransinställning. Låt oss se hur vi kan använda Magic Wand-verktyget programmatiskt i Java-applikationer.

Magic Wand Tool för Java

Vi kommer att använda verktyget Magic Wand som tillhandahålls av Aspose.Imaging for Java – ett API som gör det möjligt för utvecklare att arbeta med olika bildformat i sina Java-applikationer. Det gör det möjligt att utföra ett brett utbud av uppgifter relaterade till bildbehandling och manipulation, såsom redigering, konvertering, komprimering och färgjustering.

För att installera Aspose.Imaging för Java, använd följande Maven-konfigurationer eller ladda ner JAR-filen.

<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>

Använda Magic Wand Tool i Java

Klassen MagicWandTool låter dig utföra markering, sammanslutning, invertering och subtrahering av en bild. När du väljer ett specifikt färgområde i en bild måste du ange X- och Y-koordinaterna inom det önskade området. Trollstavsverktyget utvärderar sedan tonen och färgen på den valda pixeln i jämförelse med dess närliggande pixlar. När en likhet upptäcks genererar verktyget en mask för det valda området.

Genom att använda klassen MagicWandSettings kan du ställa in toleransen. Ett högre toleransvärde innebär att ett bredare spektrum av färger kommer att inkluderas i urvalet, medan ett lägre toleransvärde begränsar urvalet till ett smalare intervall av liknande färger.

Följande är stegen för att använda Magic Wand-verktyget i Java.

  • Ladda först in bilden som RasterImage med metoden Image.load.
  • Skapa sedan en instans av klassen MagicWandSettings och initiera den med X- och Y-referenskoordinater.
  • Skapa en ny mask med verktyget Magic Wand baserat på ton och färg på pixel med metoden MagicWandTool.select.
  • Använd önskade Magic Wand-funktioner på bilden.
  • Anrop metoden application() för att applicera masken.
  • Slutligen sparar du bilden med metoden Image.save().

Se referenser för klasser och metoder som används i stegen ovan.

Följande kodsnutt visar hur man använder Magic Wand-verktyget på en bild i Java.

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

// hämta sökvägen för indata
String templatesFolder = System.getenv("DATA_PATH");
// få utgångsväg
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"))
{
	// Skapa en ny mask med hjälp av trollstavsverktyget baserat på ton och färg på pixel {845, 128}
	MagicWandTool.select(image, new MagicWandSettings(10, 10))
		// Förena den befintliga masken med den angivna som skapats av trollstavsverktyget
		.union(new MagicWandSettings(30, 30))
		// Invertera den befintliga masken
		.invert()
		// Subtrahera den angivna masken som skapats av trollstavsverktyget från den befintliga 
		.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
		// Subtrahera fyra specificerade rektangelmasker från den befintliga masken en efter en
		.subtract(new RectangleMask(0, 0, 50, 50))
		// Fjädermask med specificerade inställningar
		.getFeathered(new FeatheringSettings() {{ setSize(3); }})
		// Applicera mask på bilden
		.apply();
	image.save(outputFolder + "/result.png");
}

Skaffa en gratis licens

Få en gratis tillfällig licens och utvärdera Java Magic Wand-verktyget utan några begränsningar.

Slutsats

I det här blogginlägget har vi utforskat verktyget Magic Wand i Java med hjälp av ett kraftfullt bildbehandlingsbibliotek som ger utvecklare möjlighet att utföra bildval baserat på färglikhet. Genom att följa stegen som beskrivs i den här guiden kan du sömlöst integrera Magic Wand-verktyget i dina Java-applikationer och låsa upp ett brett utbud av möjligheter för bildmanipulering och redigering.

Aspose.Imaging för Java tillhandahåller en omfattande uppsättning funktioner för att arbeta med bilder. Du kan utforska mer om biblioteket med hjälp av dokumentation. Du kan också posta dina frågor på vårt forum.

Se även