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

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

Python Library เพื่อครอบตัดรูปภาพ

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

คุณสามารถ ดาวน์โหลด ไลบรารีหรือติดตั้งลงในแอปพลิเคชัน Python ของคุณจาก PyPI

> pip install aspose-imaging-python-net 

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

มีสองวิธีในการครอบตัดรูปภาพโดยใช้ Aspose.Imaging for Python: การใช้ค่า shift และการใช้สี่เหลี่ยม ในวิธีการเลื่อนค่า เราระบุค่าทางซ้าย ขวา บน และล่างสำหรับการเลื่อนรูปภาพ ในทางกลับกัน เราใช้สี่เหลี่ยมเพื่อกำหนดพื้นที่ครอบตัดในวิธีที่สอง

มาดูวิธีการครอบตัดรูปภาพแต่ละวิธีข้างต้นด้วยความช่วยเหลือของตัวอย่างโค้ด Python

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

ขั้นตอนด้านล่างสาธิตวิธีการครอบตัดรูปภาพโดยใช้ค่า shift ใน Python

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

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

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder

# โหลดรูปภาพที่มีอยู่ลงในอินสแตนซ์ของคลาส RasterImage
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	# ก่อนที่จะครอบตัด รูปภาพควรถูกแคชไว้เพื่อประสิทธิภาพที่ดีขึ้น
	if not raster_image.is_cached:
		raster_image.cache_data()

	# กำหนดค่ากะสำหรับทั้งสี่ด้าน
	left_shift = 10
	right_shift = 10
	top_shift = 10
	bottom_shift = 10
  
	# ขึ้นอยู่กับค่าการเปลี่ยนแปลง ให้ใช้การครอบตัดกับรูปภาพ
	raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
  
  	# บันทึกภาพที่ครอบตัด
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

ด้านล่างนี้คือภาพหน้าจอของภาพที่ป้อน (ภาพแรก) และเวอร์ชันที่ครอบตัด (ภาพที่สอง)

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

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

ในวิธีนี้ เรากำหนดสี่เหลี่ยมเพื่อครอบตัดพื้นที่เฉพาะในภาพที่โหลด รูปภาพที่ได้จะมีส่วนของรูปภาพที่อยู่ภายในสี่เหลี่ยมนั้น ต่อไปนี้เป็นขั้นตอนในการครอบตัดรูปภาพโดยใช้สี่เหลี่ยม

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

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

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
import os

if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder

# โหลดรูปภาพที่มีอยู่ลงในอินสแตนซ์ของคลาส RasterImage
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	if not raster_image.is_cached:
		raster_image.cache_data()

	# สร้างอินสแตนซ์ของคลาสสี่เหลี่ยมผืนผ้าด้วยขนาดที่ต้องการ
	rectangle = Rectangle(20, 20, 20, 20)
  
  	# ครอบตัดรูปภาพ
	raster_image.crop(rectangle)
  
  	# บันทึกภาพ
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

รับไลบรารีการครอบตัดรูปภาพ Python ฟรี

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

บทสรุป

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

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