ครอบตัดรูปภาพใน Java

ในบล็อกโพสต์ที่แล้ว เราได้แสดงวิธีการใช้คุณสมบัติการแก้ไขรูปภาพต่างๆ เช่น การปรับขนาด, พลิกภาพ และ หมุน ภาพ นอกจากคุณสมบัติเหล่านี้แล้ว การครอบตัดรูปภาพยังใช้กันอย่างแพร่หลายเพื่อตัดส่วนที่ไม่ต้องการในภาพออก นอกจากนี้คุณยังครอบตัดรูปภาพเพื่อโฟกัสวัตถุเฉพาะในกรอบ ในบทความนี้ คุณจะได้เรียนรู้วิธีการครอบตัดรูปภาพโดยทางโปรแกรมใน Java เราจะสาธิตวิธีครอบตัดรูปภาพโดยใช้ค่า Shift หรือสี่เหลี่ยมผืนผ้า

Java API เพื่อครอบตัดรูปภาพ - ดาวน์โหลดฟรี

Aspose.Imaging for Java เป็น API การแก้ไขรูปภาพที่น่าทึ่งซึ่งมีคุณสมบัติมากมายในการจัดการกับรูปภาพ นอกจากนี้ยังรองรับรูปแบบภาพแรสเตอร์และเวกเตอร์ที่หลากหลาย เราจะใช้ API นี้เพื่อครอบตัดรูปภาพจากภายในแอปพลิเคชัน Java ของเรา คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้

<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>22.9</version>
</dependency>

ครอบตัดรูปภาพใน Java

มีสองวิธีในการครอบตัดภาพแรสเตอร์: ค่า shift และสี่เหลี่ยมผืนผ้า ในวิธีแรก เราต้องระบุค่าการเลื่อนซ้าย ขวา บน และล่างเพื่อครอบตัดรูปภาพ ในขณะที่วิธีที่สอง เรากำหนดสี่เหลี่ยมผืนผ้าเพื่อครอบตัดพื้นที่บางส่วนของรูปภาพ

มาดูวิธีการครอบตัดรูปภาพใน Java แต่ละวิธีที่กล่าวมาข้างต้น

ครอบตัดรูปภาพด้วยค่า Shift ใน Java

ต่อไปนี้เป็นขั้นตอนสำหรับการครอบตัดรูปภาพโดยใช้ค่า shift ใน Java

  • ขั้นแรก โหลดภาพลงในวัตถุ RasterImage โดยใช้เมธอด Image.load()
  • แคชรูปภาพหากไม่ใช่
  • กำหนดค่าการเลื่อนซ้าย ขวา บน และล่าง
  • ครอบตัดรูปภาพโดยใช้เมธอด RasterImage.crop()
  • บันทึกภาพที่ครอบตัดโดยใช้เมธอด RasterImage.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการครอบตัดรูปภาพใน Java

// โหลดภาพ
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// ก่อนครอบตัด ควรแคชรูปภาพเพื่อประสิทธิภาพที่ดีขึ้น
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// กำหนดค่าการเลื่อนสำหรับทั้งสี่ด้าน
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// ใช้การครอบตัดบนรูปภาพตามค่า shift วิธีการครอบตัดจะเปลี่ยนไป
	// รูปภาพจะวนเข้าหากึ่งกลางของรูปภาพและบันทึกผลลัพธ์ลงในดิสก์
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// บันทึกภาพที่ครอบตัด
	rasterImage.save("cropped.jpg");
}

ต่อไปนี้เป็นภาพอินพุตที่เราใช้ในการครอบตัด

ครอบตัดรูปภาพใน Java

ด้านล่างนี้คือภาพที่ครอบตัดแล้ว

การครอบตัดรูปภาพใน Java

การครอบตัดรูปภาพ Java โดยใช้สี่เหลี่ยมผืนผ้า

คุณยังสามารถกำหนดสี่เหลี่ยมผืนผ้าเพื่อครอบตัดพื้นที่ที่ต้องการของรูปภาพได้อีกด้วย ขั้นตอนต่อไปนี้สาธิตการครอบตัดรูปภาพโดยใช้สี่เหลี่ยมผืนผ้าใน Java

  • ขั้นแรก โหลดภาพลงในวัตถุ RasterImage โดยใช้เมธอด Image.load()
  • แคชรูปภาพหากไม่ใช่
  • สร้างวัตถุ สี่เหลี่ยมผืนผ้า และเริ่มต้นด้วยขนาดที่ต้องการ
  • ครอบตัดรูปภาพโดยใช้เมธอด RasterImage.crop()
  • บันทึกภาพที่ครอบตัดโดยใช้เมธอด RasterImage.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการครอบตัดรูปภาพด้วยสี่เหลี่ยมผืนผ้าใน Java

// โหลดภาพ
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// ก่อนครอบตัด ควรแคชรูปภาพเพื่อประสิทธิภาพที่ดีขึ้น
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// สร้างตัวอย่างคลาสสี่เหลี่ยมผืนผ้าที่มีขนาดที่ต้องการ
	Rectangle rectangle = new Rectangle(20, 20, 20, 20);
	
	// ครอบตัดรูปภาพ
	rasterImage.crop(rectangle);

	// บันทึกภาพที่ครอบตัด
	rasterImage.save("cropped.jpg");
}

Imaging Cropping API สำหรับ Java - รับใบอนุญาตฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี และครอบตัดรูปภาพโดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการครอบตัดรูปภาพใน Java เราได้สาธิตวิธีการครอบตัดรูปภาพโดยใช้ค่า shift หรือสี่เหลี่ยมผืนผ้า นอกจากนี้ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ Java โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถแบ่งปันคำถามของคุณกับเราผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย