در این مقاله نحوه قرار دادن یک تصویر PNG شفاف روی یک تصویر دیگر آموزش داده می شود. این یک عملیات بسیار رایج بر روی تصاویر است و کاربردهای بسیار متفاوتی دارد. به عنوان مثال، اضافه کردن یک واترمارک یا لوگو بر روی یک تصویر. برای این کار از ماژول PIL در پایتون استفاده می کنیم. که در آن از چند متد داخلی استفاده می کنیم و تصاویر را طوری ترکیب می کنیم که به نظر چسبانده می شود.
- تابع open – برای باز کردن یک تصویر استفاده می شود.
- تابع convert – یک کپی تبدیل شده از یک تصویر داده شده را برمی گرداند. با ماسک شفافیت تصویر را به رنگ واقعی خود تبدیل می کند.
- تابع paste – برای چسباندن یک تصویر روی تصویر دیگر استفاده می شود.
سینتکس متد paste:
PIL.Image.Image.paste(image_1, image_2, box=None, mask=None)
یا
image_object.paste(image_2, box=None, mask=None)
پارامتر ها:
- image_1/image_object : تصویری است که قرار است تصویر دیگری روی آن چسبانده شود.
- image_2: تصویر منبع یا مقدار پیکسل (int یا tuple).
- box: یک تاپل 4 تایی اختیاری که مختصات منطقه مورد نظر برای چسباندن را مشخص می کند. اگر به جای آن از تاپل 2 تایی استفاده شود، به عنوان فاصله از گوشه سمت چپ بالا در نظر گرفته می شود. در صورت حذف یا None، منبع در گوشه سمت چپ بالا چسبانده می شود.
- mask: ماسکی که برای چسباندن تصویر استفاده می شود. اگر تصویری را با شفافیت ارسال کنید، از کانال آلفا به عنوان ماسک استفاده می شود.
روش حل:
- با استفاده از تابع Image.open() تصویر رویی و پس زمینه را باز کنید.
- هر دو تصویر را به RGBA تبدیل کنید.
- موقعیتی را که می خواهید تصویر را در آن جایگذاری کنید محاسبه کنید.
- از تابع paste برای ادغام دو تصویر استفاده کنید.
- تصویر را ذخیره کنید.
داده های ورودی:
برای وارد کردن داده ها از دو تصویر استفاده می کنیم:
- تصویر رویی: یک تصویر شفاف مانند یک لوگو
- تصویر پس زمینه: برای پس زمینه مانند هر تصویر پس زمینه
پیاده سازی:
خروجی:
دیدگاهها