Narzędzie Magiczna Różdżka Java

Aspose.Imaging for Java to potężna i wszechstronna biblioteka zapewniająca programistom szeroki zakres funkcji do pracy z obrazami. Jedną z kluczowych funkcji oferowanych przez bibliotekę jest narzędzie Różdżka, które umożliwia precyzyjne i efektywne zaznaczanie obszarów obrazu na podstawie podobieństwa kolorów. W tym poście na blogu omówimy, jak używać narzędzia Magic Wand na obrazie w Javie.

Magiczna różdżka

Narzędzie Różdżka to przydatna funkcja dostępna w oprogramowaniu do edycji obrazów, takim jak Adobe Photoshop. Służy do wybierania obszarów obrazu o podobnych kolorach lub odcieniach. Narzędzie to działa poprzez kliknięcie określonego punktu na obrazie i automatycznie wybiera sąsiadujące obszary o podobnych wartościach kolorów lub tonów w oparciu o ustawienie tolerancji. Zobaczmy jak możemy programowo wykorzystać narzędzie Magic Wand w aplikacjach Java.

Narzędzie Magic Wand dla Java

Będziemy korzystać z narzędzia Magic Wand dostarczonego przez Aspose.Imaging for Java - API, które umożliwia programistom pracę z różnymi formatami obrazów w ich aplikacjach Java. Pozwala na realizację szerokiego zakresu zadań związanych z przetwarzaniem i manipulacją obrazami, takich jak edycja, konwersja, kompresja i regulacja kolorów.

Aby zainstalować Aspose.Imaging for Java, użyj następujących konfiguracji Mavena lub pobierz plik 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>

Korzystanie z narzędzia Magic Wand w Javie

Klasa MagicWandTool umożliwia wykonywanie operacji zaznaczania, sumowania, odwracania i odejmowania na obrazie. Wybierając konkretny obszar koloru na obrazie, musisz określić współrzędne X i Y w żądanym regionie. Następnie narzędzie Różdżka ocenia ton i kolor wybranego piksela w porównaniu z sąsiednimi pikselami. Po wykryciu podobieństwa narzędzie generuje maskę dla wybranego regionu.

Wykorzystując klasę MagicWandSettings można ustawić tolerancję. Wyższa wartość tolerancji oznacza, że wybór zostanie uwzględniony w szerszym zakresie kolorów, natomiast niższa wartość tolerancji ogranicza wybór do węższego zakresu podobnych kolorów.

Poniżej przedstawiono kroki korzystania z narzędzia Magic Wand w Javie.

  • Najpierw załaduj obraz jako RasterImage przy użyciu metody Image.load.
  • Następnie utwórz instancję klasy MagicWandSettings i zainicjuj ją współrzędnymi odniesienia X i Y.
  • Utwórz nową maskę za pomocą narzędzia Magic Wand w oparciu o ton i kolor piksela, korzystając z metody MagicWandTool.select.
  • Użyj żądanych funkcji Magicznej Różdżki na obrazie.
  • Wywołaj metodę Apply(), aby zastosować maskę.
  • Na koniec zapisz obraz za pomocą metody Image.save().

Zobacz referencje klas i metod używanych w powyższych krokach.

Poniższy fragment kodu pokazuje, jak używać narzędzia Różdżka na obrazie w Javie.

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

// uzyskać ścieżkę danych wejściowych
String templatesFolder = System.getenv("DATA_PATH");
// uzyskaj ścieżkę wyjściową
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"))
{
	// Utwórz nową maskę za pomocą narzędzia „Magiczna różdżka” w oparciu o ton i kolor piksela {845, 128}
	MagicWandTool.select(image, new MagicWandSettings(10, 10))
		// Połącz istniejącą maskę z określoną maską utworzoną za pomocą narzędzia Magiczna różdżka
		.union(new MagicWandSettings(30, 30))
		// Odwróć istniejącą maskę
		.invert()
		// Odejmij określoną maskę utworzoną za pomocą narzędzia „Magiczna różdżka” od istniejącej 
		.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
		// Odejmij cztery określone maski prostokątne od istniejącej maski, jedna po drugiej
		.subtract(new RectangleMask(0, 0, 50, 50))
		// Maska z piór z określonymi ustawieniami
		.getFeathered(new FeatheringSettings() {{ setSize(3); }})
		// Zastosuj maskę do obrazu
		.apply();
	image.save(outputFolder + "/result.png");
}

Zdobądź bezpłatną licencję

Zdobądź bezpłatną licencję tymczasową i wypróbuj narzędzie Java Magic Wand bez żadnych ograniczeń.

Wniosek

W tym poście na blogu przyjrzeliśmy się narzędziu Magic Wand w języku Java przy użyciu potężnej biblioteki przetwarzania obrazów, która umożliwia programistom wybieranie obrazów na podstawie podobieństwa kolorów. Wykonując kroki opisane w tym przewodniku, możesz bezproblemowo zintegrować narzędzie Magic Wand z aplikacjami Java i odblokować szeroki zakres możliwości manipulacji i edycji obrazów.

Aspose.Imaging for Java zapewnia kompleksowy zestaw funkcji do pracy z obrazami. Więcej informacji na temat biblioteki można znaleźć w dokumentacji. Możesz także publikować swoje pytania na naszym forum.

Zobacz też