چگونه با استفاده از Pillow اندازه یک GIF متحرک را تغییر دهیم؟

Nov 06, 2025

پیام بگذارید

سلام! اگر به کار با گیف های متحرک علاقه دارید و از پایتون استفاده می کنید، احتمالاً با کتابخانه Pillow مواجه شده اید. من تامین کننده محصولات Pillow هستم و اینجا هستم تا شما را در فرآیند تغییر اندازه یک GIF متحرک با استفاده از Pillow راهنمایی کنم. این یک مهارت بسیار مفید است، چه شما یک توسعه دهنده باشید، یک طراح، یا فقط کسی که دوست دارد با تصاویر بازی کند.

چرا اندازه یک GIF متحرک را تغییر دهید؟

قبل از اینکه به روش کار بپردازیم، اجازه دهید در مورد اینکه چرا ممکن است بخواهید در وهله اول اندازه یک GIF متحرک را تغییر دهید، صحبت کنیم. چند دلیل وجود دارد. شاید شما در حال کار بر روی یک وب سایت هستید و باید اندازه GIF را بهینه کنید تا صفحه شما سریعتر بارگذاری شود. یا شاید شما در حال ایجاد یک پست رسانه اجتماعی هستید و باید GIF را در یک بعد خاص قرار دهید. به هر دلیلی، تغییر اندازه یک GIF متحرک می تواند بسیار مفید باشد.

پیش نیازها

اول از همه، شما باید Pillow را نصب کنید. اگر قبلا این کار را نکرده اید، می توانید آن را با استفاده از pip نصب کنید. فقط ترمینال خود را باز کنید و دستور زیر را اجرا کنید:

بالش نصب پیپ

هنگامی که Pillow را نصب کردید، آماده شروع تغییر اندازه آن GIF هستید.

فرآیند

بیایید روند تغییر اندازه یک GIF متحرک با استفاده از Pillow را به چند مرحله ساده تقسیم کنیم.

مرحله 1: کتابخانه های لازم را وارد کنید

اولین کاری که باید انجام دهید این است که آن را وارد کنیدتصویرماژول از کتابخانه Pillow. در اینجا نحوه انجام این کار آمده است:

از تصویر واردات PIL

مرحله 2: GIF متحرک را باز کنید

در مرحله بعد، باید فایل متحرک GIF را باز کنید. شما می توانید این کار را با استفاده ازImage.open()روش در اینجا یک مثال است:

gif = Image.open('your_animated_gif.gif')

جایگزین کنید'your_animated_gif.gif'با مسیر واقعی فایل GIF شما.

مرحله 3: اندازه جدید را تعریف کنید

اکنون، باید در مورد اندازه جدید GIF خود تصمیم بگیرید. می توانید این کار را با تعیین عرض و ارتفاع بر حسب پیکسل انجام دهید. به عنوان مثال، اگر می خواهید اندازه GIF خود را به عرض 300 پیکسل و ارتفاع 200 پیکسل تغییر دهید، می توانید اندازه جدید را به این صورت تعریف کنید:

new_size = (300، 200)

مرحله 4: اندازه هر فریم را تغییر دهید

یک GIF متحرک از چندین فریم تشکیل شده است. برای تغییر اندازه کل GIF، باید اندازه هر فریم را جداگانه تغییر دهید. شما می توانید این کار را با استفاده از یک حلقه انجام دهید. در اینجا یک مثال است:

Household PillowMemory Foam Pillow

فریم = [] برای فریم در محدوده (0، gif.n_frames): gif.seek(frame) resized_frame = gif.resize(new_size، Image.LANCZOS) frames.append(resized_frame)

در این کد، ما از a استفاده می کنیمبرایحلقه برای تکرار در هر فریم از GIF. سپس از آن استفاده می کنیمجستجو ()روش انتقال به فریم فعلی، وتغییر اندازه ()روشی برای تغییر اندازه قاب به اندازه جدید. در نهایت، سایز فریم را به قاب اضافه می کنیمقاب هافهرست

مرحله 5: GIF تغییر اندازه را ذخیره کنید

هنگامی که اندازه همه فریم ها را تغییر دادید، باید اندازه GIF را ذخیره کنید. شما می توانید این کار را با استفاده ازذخیره ()روش در اینجا یک مثال است:

frames[0].save('resized_animated_gif.gif', save_all=True, append_images=frames[1:], duration=gif.info['duration'], loop=0)

در این کد، اولین فریم را ذخیره می کنیمقاب هالیست به عنوان GIF جدید. ما ازsave_all=درست استپارامتر نشان می دهد که می خواهیم همه فریم ها را ذخیره کنیم وappend_images=frames[1:]پارامتر برای افزودن فریم های باقی مانده به فریم اول. ما همچنین ازduration=gif.info['duration']پارامتر برای تنظیم مدت زمان هر فریم مانند GIF اصلی، وحلقه = 0پارامتر نشان می دهد که می خواهیم GIF به طور نامحدود حلقه بزند.

قرار دادن آن همه با هم

در اینجا کد کامل تغییر اندازه یک GIF متحرک با استفاده از Pillow آمده است:

from PIL import Image # باز کردن گیف متحرک GIF = Image.open('your_animated_gif.gif') # اندازه جدید را تعریف کنید new_size = (300، 200) # تغییر اندازه هر فریم فریم = [] برای فریم در محدوده (0, gif.n_frames): gif.seek(frame) gif.seek(frame) resized. frames.append(resized_frame) # ذخیره فریم‌های GIF با اندازه تغییر یافته[0].save('resized_animated_gif.gif', save_all=True, append_images=frames[1:], duration=gif.info['duration'], loop=0)

نکات و ترفندها

  • فیلتر نمونه برداری مجدد مناسب را انتخاب کنید: هنگام تغییر اندازه یک تصویر، می توانید فیلترهای مختلف نمونه گیری مجدد را انتخاب کنید. راتصویر.LANCZOSفیلتر به طور کلی برای تغییر اندازه با کیفیت انتخاب خوبی است، اما می توانید با فیلترهای دیگری مانندتصویر.دو خطییاتصویر.نزدیکترینتا ببینید کدام یک برای GIF شما بهتر کار می کند.
  • اندازه GIF را بهینه کنید: اگر اندازه GIF را برای کاهش اندازه فایل آن تغییر می دهید، می توانید از آن استفاده کنیدبهینه سازی = درست استپارامتر هنگام ذخیره گیف با این کار هرگونه ابرداده غیر ضروری از GIF حذف می شود و می تواند اندازه فایل آن را به میزان قابل توجهی کاهش دهد.

محصولات مرتبط با بالش

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

برای تهیه با ما تماس بگیرید

اگر شما علاقه مند به خرید محصولات بالش ما هستید، خوشحال می شویم که نظرات شما را بشنویم. فرقی نمی‌کند خرده‌فروشی باشید که به دنبال انبار کردن محصولات ما هستید یا فردی که به دنبال یک بالش با کیفیت بالا هستید، ما اینجا هستیم تا به شما کمک کنیم. فقط با ما تماس بگیرید، و ما بحث تدارکات را شروع می کنیم.

مراجع

  • مستندات بالش: https://pillow.readthedocs.io/en/stable/
  • کتابچه راهنمای کتابخانه تصویربرداری پایتون: https://www.effbot.org/imagingbook/

ارسال درخواست