Java Sihirli Değnek Aracı

Aspose.Imaging for Java, geliştiricilere görüntülerle çalışmak için çok çeşitli işlevler sağlayan güçlü ve çok yönlü bir kitaplıktır. Kitaplığın sunduğu temel özelliklerden biri, renk benzerliğine dayalı olarak görüntüdeki alanların hassas ve etkili bir şekilde seçilmesine olanak tanıyan Sihirli Değnek aracıdır. Bu blog yazısında Sihirli Değnek aracının Java’daki bir resim üzerinde nasıl kullanılacağını inceleyeceğiz.

Sihirli değnek aracı

Sihirli Değnek aracı, Adobe Photoshop gibi görüntü düzenleme yazılımlarında sağlanan kullanışlı bir özelliktir. Bir görüntüdeki benzer renk veya tonlardaki alanların seçilmesi için kullanılır. Araç, görüntüdeki belirli bir noktaya tıklanarak çalışır ve tolerans ayarına göre benzer renk veya ton değerlerine sahip bitişik alanları otomatik olarak seçer. Magic Wand aracını Java uygulamalarında programlı olarak nasıl kullanabileceğimizi görelim.

Java için Sihirli Değnek Aracı

Geliştiricilerin Java uygulamalarında çeşitli görüntü formatlarıyla çalışmasını sağlayan bir API olan Aspose.Imaging for Java tarafından sağlanan Magic Wand aracını kullanacağız. Düzenleme, dönüştürme, sıkıştırma ve renk ayarlama gibi görüntü işleme ve manipülasyonla ilgili çok çeşitli görevlerin gerçekleştirilmesine olanak tanır.

Aspose.Imaging for Java’yı yüklemek için aşağıdaki Maven yapılandırmalarını kullanın veya JAR’ı indirin dosyasını kullanın.

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

Java’da Sihirli Değnek Aracını Kullanmak

MagicWandTool sınıfı, bir görüntü üzerinde seçme, birleştirme, ters çevirme ve çıkarma işlemlerini yürütmenize olanak tanır. Bir görüntüde belirli bir renk alanı seçerken, istediğiniz bölgenin içindeki X ve Y koordinatlarını belirtmeniz gerekir. Daha sonra Sihirli Değnek aracı, seçilen pikselin tonunu ve rengini komşu piksellerle karşılaştırmalı olarak değerlendirir. Bir benzerlik tespit edildiğinde araç seçilen bölge için bir maske oluşturur.

MagicWandSettings sınıfını kullanarak toleransı ayarlayabilirsiniz. Daha yüksek bir tolerans değeri, seçime daha geniş bir renk aralığının dahil edileceği anlamına gelirken, daha düşük bir tolerans değeri, seçimi daha dar bir benzer renk aralığıyla sınırlandırır.

Java’da Sihirli Değnek aracını kullanma adımları aşağıda verilmiştir.

  • Öncelikle Image.load yöntemini kullanarak görüntüyü RasterImage olarak yükleyin.
  • Ardından MagicWandSettings sınıfının bir örneğini oluşturun ve onu X ve Y referans koordinatlarıyla başlatın.
  • MagicWandTool.select yöntemini kullanarak pikselin tonunu ve rengini temel alarak Magic Wand aracıyla yeni bir maske oluşturun.
  • Görüntü üzerinde istediğiniz Sihirli Değnek işlevlerini kullanın.
  • Maskeyi uygulamak için Apply() yöntemini çağırın.
  • Son olarak Image.save() yöntemini kullanarak görüntüyü kaydedin.

Yukarıdaki adımlarda kullanılan sınıflar ve yöntemler için referanslar’e bakın.

Aşağıdaki kod parçacığı, Sihirli Değnek aracının Java’daki bir görüntü üzerinde nasıl kullanılacağını gösterir.

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

// giriş verilerinin yolunu al
String templatesFolder = System.getenv("DATA_PATH");
// çıktı yolunu al
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"))
{
	// {845, 128} pikselinin tonunu ve rengini temel alarak sihirli değnek aracını kullanarak yeni bir maske oluşturun
	MagicWandTool.select(image, new MagicWandSettings(10, 10))
		// Mevcut maskeyi sihirli değnek aracıyla oluşturulan belirtilen maskeyle birleştirin
		.union(new MagicWandSettings(30, 30))
		// Mevcut maskeyi ters çevir
		.invert()
		// Sihirli değnek aracı tarafından oluşturulan belirtilen maskeyi mevcut maskeden çıkarın 
		.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
		// Belirtilen dört dikdörtgen maskeyi mevcut maskeden birer birer çıkarın
		.subtract(new RectangleMask(0, 0, 50, 50))
		// Belirtilen ayarlara sahip tüy maskesi
		.getFeathered(new FeatheringSettings() {{ setSize(3); }})
		// Resme maske uygula
		.apply();
	image.save(outputFolder + "/result.png");
}

Ücretsiz Lisans Alın

[Ücretsiz bir geçici lisans alın8 ve Java Magic Wand aracını herhangi bir sınırlama olmaksızın değerlendirin.

Çözüm

Bu blog yazısında, geliştiricilerin renk benzerliğine dayalı görüntü seçimi yapmalarına olanak tanıyan güçlü bir görüntü işleme kitaplığı kullanarak Java’daki Sihirli Değnek aracını inceledik. Bu kılavuzda özetlenen adımları izleyerek Sihirli Değnek aracını Java uygulamalarınıza sorunsuz bir şekilde entegre edebilir ve görüntü işleme ve düzenlemeye yönelik çok çeşitli olanakların kilidini açabilirsiniz.

Aspose.Imaging for Java, görüntülerle çalışmak için kapsamlı bir dizi özellik sunar. Belgeler‘u kullanarak kütüphane hakkında daha fazla bilgi edinebilirsiniz. Ayrıca sorularınızı forum sayfamıza gönderebilirsiniz.

Ayrıca bakınız