Ferramenta Varinha Mágica Java

Aspose.Imaging for Java é uma biblioteca poderosa e versátil que oferece aos desenvolvedores uma ampla gama de funcionalidades para trabalhar com imagens. Um dos principais recursos oferecidos pela biblioteca é a ferramenta Magic Wand, que permite a seleção precisa e eficiente de áreas de uma imagem com base na semelhança de cores. Nesta postagem do blog, exploraremos como usar a ferramenta Magic Wand em uma imagem em Java.

Varinha mágica

A ferramenta Magic Wand é um recurso útil fornecido em softwares de edição de imagens, como o Adobe Photoshop. É usado para selecionar áreas de cores ou tons semelhantes em uma imagem. A ferramenta funciona clicando em um ponto específico da imagem e seleciona automaticamente áreas contíguas que possuem valores de cores ou tons semelhantes com base em uma configuração de tolerância. Vamos ver como podemos usar a ferramenta Magic Wand programaticamente em aplicativos Java.

Ferramenta Varinha Mágica para Java

Usaremos a ferramenta Magic Wand fornecida por Aspose.Imaging for Java - uma API que permite aos desenvolvedores trabalhar com vários formatos de imagem em seus aplicativos Java. Permite realizar uma ampla gama de tarefas relacionadas ao processamento e manipulação de imagens, como edição, conversão, compactação e ajuste de cores.

Para instalar o Aspose.Imaging for Java, use as seguintes configurações do Maven ou baixe o arquivo 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>

Usando a ferramenta Magic Wand em Java

A classe MagicWandTool permite executar operações de seleção, união, inversão e subtração em uma imagem. Ao escolher uma área de cor específica em uma imagem, você precisa especificar as coordenadas X e Y na região desejada. A ferramenta Magic Wand avalia então o tom e a cor do pixel selecionado em comparação com os pixels vizinhos. Quando é detectada uma semelhança, a ferramenta gera uma máscara para a região selecionada.

Utilizando a classe MagicWandSettings, você pode definir a tolerância. Um valor de tolerância mais alto significa que uma gama mais ampla de cores será incluída na seleção, enquanto um valor de tolerância mais baixo limita a seleção a uma gama mais estreita de cores semelhantes.

A seguir estão as etapas para usar a ferramenta Magic Wand em Java.

  • Primeiro, carregue a imagem como RasterImage usando o método Image.load.
  • Em seguida, crie uma instância da classe MagicWandSettings e inicialize-a com as coordenadas de referência X e Y.
  • Crie uma nova máscara com a ferramenta Magic Wand com base no tom e na cor do pixel usando o método MagicWandTool.select.
  • Use as funções desejadas da Varinha Mágica na imagem.
  • Chame o método apply() para aplicar a máscara.
  • Finalmente, salve a imagem usando o método Image.save().

Veja referências de classes e métodos usados nas etapas acima.

O trecho de código a seguir mostra como usar a ferramenta Magic Wand em uma imagem em Java.

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

// obter o caminho dos dados de entrada
String templatesFolder = System.getenv("DATA_PATH");
// obter caminho de saída
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"))
{
	// Crie uma nova máscara usando a ferramenta varinha mágica com base no tom e na cor do pixel {845, 128}
	MagicWandTool.select(image, new MagicWandSettings(10, 10))
		// Unir a máscara existente com a especificada criada pela ferramenta varinha mágica
		.union(new MagicWandSettings(30, 30))
		// Inverta a máscara existente
		.invert()
		// Subtraia a máscara especificada criada pela ferramenta varinha mágica da existente 
		.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
		// Subtraia quatro máscaras retangulares especificadas da máscara existente, uma por uma
		.subtract(new RectangleMask(0, 0, 50, 50))
		// Máscara de penas com configurações específicas
		.getFeathered(new FeatheringSettings() {{ setSize(3); }})
		// Aplicar máscara à imagem
		.apply();
	image.save(outputFolder + "/result.png");
}

Obtenha uma licença gratuita

Obtenha uma licença temporária gratuita e avalie a ferramenta Java Magic Wand sem quaisquer limitações.

Conclusão

Nesta postagem do blog, exploramos a ferramenta Magic Wand em Java usando uma poderosa biblioteca de processamento de imagens que permite aos desenvolvedores realizar a seleção de imagens com base na similaridade de cores. Seguindo as etapas descritas neste guia, você pode integrar perfeitamente a ferramenta Magic Wand em seus aplicativos Java e desbloquear uma ampla gama de possibilidades para manipulação e edição de imagens.

Aspose.Imaging for Java fornece um conjunto abrangente de recursos para trabalhar com imagens. Você pode explorar mais sobre a biblioteca usando documentação. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também