خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

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

با استفاده از این کتابخانه قدرتمند، به راحتی از PNG به JPEG بروید و دوباره به عقب برگردید.

پایتون به خاطر تطبیق پذیری اش معروف است. شما می توانید ابزارهای کاربردی دنیای واقعی را در پایتون ایجاد کنید که می تواند وظایف خاصی را ساده و خودکار کند.

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

نصب کتابخانه های مورد نیاز

برای ساختن یک مبدل نوع تصویر در پایتون باید کتابخانه Pillow Python را نصب کنید. این کتابخانه قابلیت‌های پردازش تصویر مفسر پایتون شما را ارتقا می‌دهد. با استفاده از چندین ماژول این کتابخانه می توانید یک ابزار پردازش تصویر کلی ایجاد کنید. برخی از مفیدترین آنها ماژول های Image، ImageFile، ImageFilter و ImageStat هستند.

برای نصب کتابخانه Pillow Python دستور زیر را در ترمینال اجرا کنید:

pip install pillow

هنگامی که Pillow را روی سیستم خود نصب کردید، آماده کار با تصاویر هستید.

بارگذاری و نمایش ویژگی های یک تصویر

ابتدا باید ماژول Image را از کتابخانه PIL وارد کنید تا کد را تنظیم کنید. در مرحله بعد، باید از متد Image.open() برای بارگذاری تصویر و اختصاص آن به یک متغیر استفاده کنید. هنگامی که تصویر را بارگذاری کردید، می توانید آن را با استفاده از متد show() نمایش دهید.

کد مبدل فرمت تصویر در a موجود است
مخزن GitHub
و استفاده از آن تحت مجوز MIT برای شما رایگان است.

from PIL import Image
image = Image.open('sample-image.jpg')
image.show()

تصویری که به عنوان پارامتر به متد open() داده اید پس از اجرای کد باز می شود. این اولین قدم خوبی است، به عنوان یک بررسی سلامت عقل، برای اطمینان از اینکه کتابخانه را با موفقیت بر روی سیستم خود نصب کرده اید.

ماژول Image چندین ویژگی دیگر را ارائه می دهد که می توانید از آنها برای دریافت اطلاعات بیشتر در مورد تصویر استفاده کنید.

# Importing library
from PIL import Image
 
# Loading the image
image = Image.open('sample-image.jpg')
 
# Prints the name of the file
print("Filename: ", image.filename)
 
# Prints the format of the file
# Eg- PNG, JPG, GIF, etc.
print("Format: ", image.format)
 
# Prints the mode of the file
# Eg- RGB, RFBA, CMYK, etc.
print("Mode: ", image.mode)
 
# Prints the size as a width and height tuple (in pixels)
print("Size: ", image.size)
 
# Prints the width of the image (in pixels)
print("Width: ", image.width)
 
# Prints the height of the image (in pixels)
print("Height: ", image.height)
 
# Closing the image
image.close()

شما باید برخی از داده های معنی دار را بدون خطا ببینید:

مطلب مرتبط:   نحوه تبدیل فایل PDF به کتاب صوتی با استفاده از پایتون

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

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

شما به سادگی می توانید فرمت فایل یک تصویر را با استفاده از روش save() تبدیل کنید. فقط باید نام و پسوند فایل جدید را به عنوان پارامتر به متد save() بفرستید. متد save() به‌طور خودکار افزونه‌ای را که ارسال کرده‌اید شناسایی می‌کند و سپس تصویر را در قالب مشخص‌شده ذخیره می‌کند. اما قبل از استفاده از متد save() ممکن است لازم باشد حالت تصویر (RGB، RGBA، CMYK، HSV و غیره) را مشخص کنید.

مطابق با
اسناد رسمی بالش
، حالت یک تصویر رشته ای است که نوع و عمق یک پیکسل را در تصویر مشخص می کند. کتابخانه بالش از 11 حالت از جمله حالت های استاندارد زیر پشتیبانی می کند:

RGB
(پیکسل 3×8 بیت، رنگ واقعی)

RGBA
(پیکسل 4×8 بیت، رنگ واقعی با ماسک شفافیت)

CMYK
(پیکسل 4×8 بیت، تفکیک رنگ)

HSV
(پیکسل های 3×8 بیتی، رنگ، اشباع، فضای رنگی مقدار)

نحوه تبدیل تصویر از PNG به JPG و JPG به PNG

برای تبدیل فایل های تصویری با هر فرمتی (PNG، GIF، BMP، TIFF و غیره) به فرمت JPG، باید رشته filename.jpg را به عنوان پارامتر به متد save() بدهید. همچنین، شما باید حالت تصویر را ارائه دهید. کد زیر یک تصویر را از فرمت PNG به فرمت JPG تبدیل می کند:

# Importing Library
from PIL import Image
 
# Loading the image
image = Image.open('sample-png-image.png')
 
# Specifying the RGB mode to the image
image = image.convert('RGB')
 
# Converting an image from PNG to JPG format
image.save("converted-jpg-image.jpg")
print("Image successfully converted!"

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

مطلب مرتبط:   نحوه پیاده سازی مکانیک پرش در گودو

با استفاده از متد save() می توانید یک تصویر را با هر فرمتی به فرمت PNG تبدیل کنید. فقط باید تصویر PNG را به عنوان پارامتر به متد save() منتقل کنید. کد زیر یک تصویر را از فرمت JPG به فرمت PNG تبدیل می کند:

# Importing Library
from PIL import Image
 
# Loading the image
image = Image.open('sample-jpg-image.jpg')
 
# Converting image from JPG to PNG format
image.save("converted-png-image.png")
print("Image successfully converted!")

تبدیل تصویر به PNG هر گونه شفافیتی را حفظ می کند. به عنوان مثال، اگر یک تصویر GIF شفاف را به یک تصویر PNG تبدیل کنید، نتیجه همچنان یک تصویر شفاف خواهد بود.

نحوه تبدیل تصویر به هر فرمت دیگری با استفاده از پایتون

مشابه مراحل بالا، می توانید با استفاده از متد save() یک تصویر را با هر فرمتی به هر فرمت دیگری تبدیل کنید. فقط باید پسوند تصویر صحیح (webp.، png.، bmp.، و غیره) را به متد save() ارائه دهید. به عنوان مثال، کد زیر یک تصویر را از فرمت PNG به فرمت WebP تبدیل می کند:

# Importing Library
from PIL import Image
 
# Loading the image
image = Image.open('sample-transparent-png-image.png')
 
# Converting an image from PNG to WEBP format
image.save("converted-webp-image.webp")
print("Image successfully converted!")

مدیریت خطا برای فایل های تصویری از دست رفته

در صورتی که کد نتواند تصویر ورودی را پیدا کند، با خطا مواجه می شود. شما می توانید با استفاده از استثنای FileNotFoundError پایتون این کار را انجام دهید.

# Importing Library
from PIL import Image
 
try:
    # Loading the image
    image = Image.open('wrong-filename.jpg')
 
    # Converting image from JPG to PNG format
    image.save("converted-png-image.png")
    print("Image successfully converted!")
 
except FileNotFoundError:
    print("Couldn't find the provided image")

تبدیل تمام تصاویر در یک فهرست به فرمت های مختلف

اگر چندین فایل تصویری در دایرکتوری وجود دارد که می‌خواهید آن‌ها را به فرمت دیگری تبدیل کنید، می‌توانید به راحتی این کار را تنها با چند خط کد در پایتون انجام دهید. شما باید کتابخانه glob را وارد کنید تا از طریق فایل‌های موجود در فهرست فعلی یا داخل یک پوشه خاص تکرار شود. کد زیر تمام تصاویر JPG موجود در فهرست فعلی را به فرمت PNG تبدیل می کند:

from PIL import Image
import glob
  
for file in glob.glob("*.jpg"):
    image = Image.open(file)
    image.save(file.replace("jpg", "png"))

اگر می‌خواهید مجموعه دیگری از فایل‌ها را تبدیل کنید، پارامتر رشته‌ای را که ارسال می‌کنید به متد glob() تغییر دهید.

مطلب مرتبط:   نحوه تبدیل فایل های Microsoft Word DOCX به PDF در ویندوز 11

ساخت رابط کاربری گرافیکی با استفاده از پایتون

کتابخانه های پایتون مانند Pillow توسعه ابزارهایی را برای مقابله با تصاویر در پایتون آسان می کند. شما می توانید وظایف را به سرعت با یک رابط خط فرمان انجام دهید، اما یک رابط کاربری گرافیکی برای ایجاد یک تجربه کاربر پسند ضروری است. می توانید برنامه های رابط کاربری گرافیکی تخصصی تری را با استفاده از چارچوب های پایتون مانند Tkinter و wxPython ایجاد کنید.