Aspose.Imaging for Java เป็นไลบรารีที่ทรงพลังและอเนกประสงค์ที่ให้นักพัฒนามีฟังก์ชันการทำงานที่หลากหลายสำหรับการทำงานกับรูปภาพ หนึ่งในคุณสมบัติหลักที่นำเสนอโดยไลบรารีคือเครื่องมือ Magic Wand ซึ่งช่วยให้สามารถเลือกพื้นที่ในภาพได้อย่างแม่นยำและมีประสิทธิภาพตามความคล้ายคลึงของสี ในบล็อกโพสต์นี้ เราจะสำรวจวิธีการใช้เครื่องมือ Magic Wand บนรูปภาพใน Java
เครื่องมือไม้กายสิทธิ์
เครื่องมือ Magic Wand เป็นคุณสมบัติที่มีประโยชน์ซึ่งมีอยู่ในซอฟต์แวร์แก้ไขภาพ เช่น Adobe Photoshop ใช้สำหรับเลือกพื้นที่ที่มีสีหรือโทนสีคล้ายกันในภาพ เครื่องมือนี้ทำงานโดยการคลิกที่จุดใดจุดหนึ่งในรูปภาพ และจะเลือกพื้นที่ที่อยู่ติดกันซึ่งมีค่าสีหรือโทนสีคล้ายกันโดยอัตโนมัติตามการตั้งค่าความทนทาน มาดูกันว่าเราจะใช้เครื่องมือ Magic Wand โดยทางโปรแกรมในแอปพลิเคชัน Java ได้อย่างไร
เครื่องมือไม้กายสิทธิ์สำหรับ Java
เราจะใช้เครื่องมือ Magic Wand ที่ได้รับจาก Aspose.Imaging for Java ซึ่งเป็น API ที่ช่วยให้นักพัฒนาสามารถทำงานกับรูปแบบภาพต่างๆ ในแอปพลิเคชัน Java ของตนได้ ช่วยให้สามารถทำงานต่างๆ ที่เกี่ยวข้องกับการประมวลผลและการจัดการภาพ เช่น การแก้ไข การแปลง การบีบอัด และการปรับสี
หากต้องการติดตั้ง Aspose.Imaging for Java ให้ใช้การกำหนดค่า Maven ต่อไปนี้หรือ ดาวน์โหลดไฟล์ 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>
การใช้เครื่องมือ Magic Wand ใน Java
คลาส MagicWandTool ช่วยให้คุณสามารถดำเนินการเลือก รวมกัน กลับด้าน และลบภาพได้ เมื่อเลือกพื้นที่สีเฉพาะภายในรูปภาพ คุณจะต้องระบุพิกัด X และ Y ภายในขอบเขตที่ต้องการ เครื่องมือ Magic Wand จะประเมินโทนสีและสีของพิกเซลที่เลือกโดยเปรียบเทียบกับพิกเซลข้างเคียง เมื่อตรวจพบความคล้ายคลึงกัน เครื่องมือจะสร้างมาสก์สำหรับภูมิภาคที่เลือก
การใช้คลาส MagicWandSettings คุณสามารถตั้งค่าความอดทนได้ ค่าความคลาดเคลื่อนที่สูงกว่าหมายถึงช่วงสีที่กว้างกว่าจะถูกรวมไว้ในการเลือก ในขณะที่ค่าความคลาดเคลื่อนที่ต่ำกว่าจะจำกัดการเลือกให้เหลือช่วงสีที่คล้ายกันที่แคบลง
ต่อไปนี้เป็นขั้นตอนในการใช้เครื่องมือ Magic Wand ใน Java
- ขั้นแรก โหลดรูปภาพเป็น RasterImage โดยใช้วิธี Image.load
- จากนั้น สร้างอินสแตนซ์ของคลาส MagicWandSettings และเริ่มต้นด้วยพิกัดอ้างอิง X และ Y
- สร้างมาสก์ใหม่ด้วยเครื่องมือ Magic Wand ตามโทนสีและสีของพิกเซลโดยใช้วิธี MagicWandTool.select
- ใช้ฟังก์ชั่นไม้กายสิทธิ์ที่ต้องการบนภาพ
- เรียกเมธอด Apply() เพื่อใช้มาสก์
- สุดท้าย ให้บันทึกรูปภาพโดยใช้วิธี Image.save()
ดู ข้อมูลอ้างอิง ของคลาสและวิธีการที่ใช้ในขั้นตอนข้างต้น
ข้อมูลโค้ดต่อไปนี้แสดงวิธีใช้เครื่องมือ Magic Wand บนรูปภาพใน Java
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.magicwand.*;
import com.aspose.imaging.magicwand.imagemasks.*;
// รับเส้นทางของข้อมูลอินพุต
String templatesFolder = System.getenv("DATA_PATH");
// รับเส้นทางเอาต์พุต
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}
MagicWandTool.select(image, new MagicWandSettings(10, 10))
// รวมหน้ากากที่มีอยู่เข้ากับหน้ากากที่ระบุซึ่งสร้างโดยเครื่องมือไม้กายสิทธิ์
.union(new MagicWandSettings(30, 30))
// สลับมาสก์ที่มีอยู่
.invert()
// ลบมาสก์ที่ระบุที่สร้างโดยเครื่องมือไม้กายสิทธิ์ออกจากมาสก์ที่มีอยู่
.subtract(new MagicWandSettings(50, 50) {{ setThreshold(69); }})
// ลบมาสก์สี่เหลี่ยมที่ระบุสี่อันออกจากมาสก์ที่มีอยู่ทีละอัน
.subtract(new RectangleMask(0, 0, 50, 50))
// หน้ากากขนนกพร้อมการตั้งค่าที่กำหนด
.getFeathered(new FeatheringSettings() {{ setSize(3); }})
// ใช้มาสก์กับรูปภาพ
.apply();
image.save(outputFolder + "/result.png");
}
รับใบอนุญาตฟรี
รับสิทธิ์การใช้งานชั่วคราวฟรี และประเมินเครื่องมือ Java Magic Wand โดยไม่มีข้อจำกัดใดๆ
บทสรุป
ในบล็อกโพสต์นี้ เราได้สำรวจเครื่องมือ Magic Wand ใน Java โดยใช้ไลบรารีการประมวลผลภาพอันทรงพลังที่ช่วยให้นักพัฒนาสามารถเลือกภาพตามความคล้ายคลึงของสีได้ ด้วยการทำตามขั้นตอนที่ระบุไว้ในคู่มือนี้ คุณจะสามารถรวมเครื่องมือ Magic Wand เข้ากับแอปพลิเคชัน Java ของคุณได้อย่างราบรื่น และปลดล็อกความเป็นไปได้มากมายสำหรับการจัดการและแก้ไขรูปภาพ
Aspose.Imaging for Java มีชุดคุณลักษณะที่ครอบคลุมสำหรับการทำงานกับรูปภาพ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับห้องสมุดได้โดยใช้ เอกสารประกอบ นอกจากนี้คุณยังสามารถโพสต์คำถามของคุณใน ฟอรั่ม ของเรา