برش تصاویر در پایتون

برش تصویر یک ویژگی ضروری در برنامه های ویرایش تصویر و طراحی گرافیک است. این به شما امکان می دهد اندازه تصاویر را تغییر دهید و لبه های آنها را برش دهید. در حین پردازش تصاویر یا انجام ویرایش تصویر در برنامه‌های پایتون، توسعه‌دهندگان اغلب به مکانیزم برش تصویر بدون زحمت نیاز دارند. بنابراین در این پست وبلاگ، نحوه برش یکپارچه تصاویر را در برنامه پایتون یاد خواهیم گرفت.

کتابخانه پایتون برای برش تصاویر

برای برش تصویر، از Aspose.Imaging for Python استفاده خواهیم کرد. این یک کتابخانه همه کاره است که طیف وسیعی از ویژگی ها را برای کار با تصاویر فراهم می کند. به ویژه، به شما امکان می دهد کارهای اولیه و همچنین پیشرفته ویرایش تصویر را به راحتی انجام دهید.

شما می توانید کتابخانه را دانلود یا از PyPI در برنامه های پایتون خود نصب کنید.

> pip install aspose-imaging-python-net 

برش تصویر در پایتون

دو راه برای برش تصویر با استفاده از Aspose.Imaging برای پایتون وجود دارد: استفاده از مقادیر shift و استفاده از مستطیل. در روش shift values مقادیر چپ، راست، بالا و پایین را برای تغییر تصویر مشخص می کنیم. از طرفی در روش دوم از یک مستطیل برای تعریف منطقه کشت استفاده می کنیم.

بنابراین اجازه دهید هر یک از روش های برش تصویر ذکر شده در بالا را با کمک کدهای پایتون مرور کنیم.

یک تصویر را با مقادیر Shift در پایتون برش دهید

مراحل زیر نحوه برش تصویر با استفاده از مقادیر shift در پایتون را نشان می دهد.

  • ابتدا از روش Image.load() برای بارگذاری تصویر به عنوان RasterImage استفاده کنید.
  • سپس برای عملکرد بهتر، تصویر را در حافظه پنهان نگه دارید.
  • مقادیر شیفت چپ، راست، بالا و پایین را مشخص کنید.
  • مقادیر shift را به روش RasterImage.crop() منتقل کنید و تصویر را برش دهید.
  • در نهایت با استفاده از روش RasterImage.save() تصویر برش خورده را ذخیره کنید.

قطعه کد زیر نحوه برش تصویر در پایتون را نشان می دهد.

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
  
	# بر اساس مقادیر shift، برش را روی تصویر اعمال کنید
	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"))

در زیر اسکرین شات های تصویر ورودی (اول) و نسخه برش خورده آن (دوم) آمده است.

برش تصویر در پایتون
برش تصویر در پایتون

برش تصویر با مستطیل

در این روش یک مستطیل برای برش یک ناحیه خاص در تصویر بارگذاری شده تعریف می کنیم. تصویر حاصل شامل بخشی از تصویر است که داخل آن مستطیل قرار می گیرد. مراحل زیر برای برش تصویر با استفاده از مستطیل آورده شده است.

  • ابتدا از روش Image.load() برای بارگذاری تصویر به عنوان RasterImage استفاده کنید.
  • سپس، تصویر را کش کنید.
  • یک مستطیل با اندازه دلخواه ایجاد کنید.
  • شی Rectangle را به روش RasterImage.crop() منتقل کنید و تصویر را برش دهید.
  • در نهایت با استفاده از روش RasterImage.save() تصویر برش خورده را ذخیره کنید.

قطعه کد زیر برش تصویر را با یک مستطیل در پایتون نشان می دهد.

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 = 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"))

کتابخانه رایگان برش تصویر پایتون را دریافت کنید

می‌توانید یک مجوز موقت رایگان دریافت کنید و تصاویر را بدون محدودیت ارزیابی برش دهید.

نتیجه

Aspose.Imaging برای پایتون یک راه حل قوی برای برش و دستکاری تصویر ارائه می دهد. این پست وبلاگ چند روش برش تصویر را در اختیار شما قرار می دهد که به راحتی می توانید آنها را در برنامه های پایتون خود ادغام کنید. قابلیت های پردازش تصویر خود را با این API ویرایش تصویر قدرتمند پایتون افزایش دهید. ویژگی‌های شگفت‌انگیز آن را با مراجعه به اسناد کاوش کنید و سؤالات خود را از طریق [فروم 26 ما با ما در میان بگذارید.

همچنین ببینید