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.