Python ידועה בשל הגיוון שלה. אתה יכול ליצור כלי שירות בעולם האמיתי ב- Python שיכולים לפשט ולהפוך משימות מסוימות לאוטומטיות.
למד כיצד לבנות ממיר סוג תמונה עם מספר שורות פשוטות של קוד Python. בין אם זה קובץ תמונה בודד או כל הקבצים בספריה, אתה יכול בקלות להמיר בין פורמטים שונים.
התקנת ספריות נדרשות
אתה צריך להתקין את כרית ספריית Python לבניית ממיר מסוג תמונה ב- Python. ספרייה זו מקדמת את יכולות עיבוד התמונות של מתורגמן Python שלך. אתה יכול ליצור כלי עיבוד תמונה כללי באמצעות מספר מודולים של ספרייה זו. כמה מהשימושיים ביותר הם תמונה, קובץ תמונה, מסנן תמונה, ו ImageStat מודולים.
הפעל את הפקודה הבאה בטרמינל כדי להתקין את ספריית Pillow Python:
צִפצוּף להתקין כרית
לאחר שתתקין את הכרית במערכת שלך, אתה מוכן לעבוד עם תמונות.
טעינה והצגת מאפיינים של תמונה
ראשית עליך לייבא את תמונה מודול מה- PIL ספריה כדי להגדיר את הקוד. לאחר מכן, עליך להשתמש ב- Image.open() שיטה לטעינת התמונה ולהקצותה למשתנה. לאחר שטענת את התמונה, תוכל להציג אותה באמצעות ה הופעה() שיטה.
קוד ממיר פורמט תמונה זמין ב-a מאגר GitHub והוא בחינם עבורך לשימוש תחת רישיון MIT.
מ PIL יְבוּא תמונה
image = Image.open('sample-image.jpg')
תמונה.הופעה()
התמונה שהעברת כפרמטר ל- לִפְתוֹחַ() השיטה תיפתח לאחר ביצוע הקוד. זהו צעד ראשון טוב, כבדיקת שפיות, כדי לוודא שהתקנת בהצלחה את הספרייה במערכת שלך.
מודול התמונה מספק מספר מאפיינים נוספים שבהם תוכל להשתמש כדי לקבל מידע נוסף על התמונה.
# ייבוא ספרייה
מ PIL יְבוּא תמונה# טוען את התמונה
image = Image.open('sample-image.jpg')# מדפיס את שם הקובץ
הדפס("שם קובץ: ", image.filename)# מדפיס את הפורמט של הקובץ
# למשל- PNG, JPG, GIF וכו'.
הדפס("פוּרמָט: ", image.format)# מדפיס את מצב הקובץ
# למשל- RGB, RFBA, CMYK וכו'.
הדפס("מצב: ", image.mode)# מדפיס את הגודל כפולת רוחב וגובה (בפיקסלים)
הדפס("גודל: ", גודל תמונה)# מדפיס את רוחב התמונה (בפיקסלים)
הדפס("רוֹחַב: ", רוחב תמונה)# מדפיס את גובה התמונה (בפיקסלים)
הדפס("גוֹבַה: ", גובה התמונה)
# סגירת התמונה
תמונה.סגור()
אתה אמור לראות כמה נתונים משמעותיים ללא שגיאות:
כיצד להמיר פורמט תמונה באמצעות Python
אתה יכול פשוט להמיר את פורמט הקובץ של תמונה באמצעות ה להציל() שיטה. אתה רק צריך להעביר את החדש שם קובץ והרחבה כפרמטר ל- להציל() שיטה. ה להציל() השיטה תזהה אוטומטית את התוסף שהעברת ולאחר מכן תשמור את התמונה בפורמט המזוהה. אבל לפני השימוש ב להציל() בשיטה, ייתכן שיהיה עליך לציין את מצב התמונה (RGB, RGBA, CMYK, HSV וכו').
לפי תיעוד הכרית הרשמי, המצב של תמונה הוא מחרוזת המגדירה את סוג ועומק הפיקסל בתמונה. ספריית הכריות תומכת ב-11 מצבים כולל המצבים הסטנדרטיים הבאים:
RGB (3x8 סיביות פיקסלים, צבע אמיתי)
RGBA (4x8-bit פיקסלים, צבע אמיתי עם מסכת שקיפות)
CMYK (4x8 סיביות פיקסלים, הפרדת צבעים)
HSV (3x8 סיביות פיקסלים, גוון, רוויה, מרחב צבע ערך)
כיצד להמיר תמונה מ-PNG ל-JPG ו-JPG ל-PNG
אתה צריך להעביר את המחרוזת שם קובץ.jpg כפרמטר ל- להציל() שיטה להמרת קבצי תמונה בכל פורמט (PNG, GIF, BMP, TIFF וכו') לפורמט JPG. כמו כן, עליך לספק את מצב התמונה. הקוד הבא ממיר תמונה מ פורמט PNG לפורמט JPG:
# ייבוא ספרייה
מ PIL יְבוּא תמונה# טוען את התמונה
image = Image.open('sample-png-image.png')# ציון מצב RGB לתמונה
image = image.convert('RGB')
# המרת תמונה מפורמט PNG ל-JPG
image.save("converted-jpg-image.jpg")
הדפס("התמונה הומרה בהצלחה!"
תאבד כל שקיפות בתמונה אם תמיר אותה לפורמט JPG. אם תנסה לשמור על השקיפות באמצעות ה RGBA במצב, Python יזרוק שגיאה.
אתה יכול להמיר תמונה בכל פורמט לפורמט PNG באמצעות ה להציל() שיטה. אתה רק צריך להעביר את תמונת ה-PNG כפרמטר ל- להציל() שיטה. הקוד הבא ממיר תמונה מפורמט JPG לפורמט PNG:
# ייבוא ספרייה
מ PIL יְבוּא תמונה# טוען את התמונה
image = Image.open('sample-jpg-image.jpg')
# המרת תמונה מפורמט JPG לפורמט PNG
image.save("converted-png-image.png")
הדפס("התמונה הומרה בהצלחה!")
המרת תמונה ל-PNG שומרת על כל שקיפות. לדוגמה, אם תמיר תמונת GIF שקופה לתמונת PNG, התוצאה עדיין תהיה תמונה שקופה.
כיצד להמיר תמונה לכל פורמט אחר באמצעות Python
בדומה לשלבים שלמעלה, אתה יכול להמיר תמונה בכל פורמט לכל פורמט אחר באמצעות להציל() שיטה. אתה רק צריך לספק את סיומת התמונה הנכונה (.webp, .png, .bmp וכו') ל- להציל() שיטה. לדוגמה, הקוד הבא ממיר תמונה מ-PNG לפורמט WebP:
# ייבוא ספרייה
מ PIL יְבוּא תמונה# טוען את התמונה
image = Image.open('sample-transparent-png-image.png')
# המרת תמונה מפורמט PNG ל-WEBP
image.save("converted-webp-image.webp")
הדפס("התמונה הומרה בהצלחה!")
טיפול בשגיאות עבור קבצי תמונה חסרים
במקרה שהקוד לא מצליח למצוא את תמונת הקלט, הוא יזרוק שגיאה. אתה יכול להתמודד עם זה באמצעות FileNotFoundErrorחריג פייתון.
# ייבוא ספרייה
מ PIL יְבוּא תמונהלְנַסוֹת:
# טוען את התמונה
image = Image.open('wrong-filename.jpg')# המרת תמונה מפורמט JPG לפורמט PNG
image.save("converted-png-image.png")
הדפס("התמונה הומרה בהצלחה!")
מלבד FileNotFoundError:
הדפס("יכולתי'לא למצוא את התמונה שסופקה")
המרת כל התמונות בספרייה לפורמט אחר
אם יש מספר קובצי תמונה בספריה, שברצונך להמיר לפורמט אחר, תוכל לעשות זאת בקלות עם מספר שורות קוד ב-Python. אתה צריך לייבא את גלוב ספרייה כדי לחזור על הקבצים בספרייה הנוכחית או בתוך תיקיה נתונה. הקוד הבא ממיר את כל תמונות JPG בספרייה הנוכחית לפורמט PNG:
מ PIL יְבוּא תמונה
יְבוּא גלוב
עבור קובץ ב-glob.glob("*.jpg"):
image = Image.open (קובץ)
image.save (file.replace("jpg", "png"))
אם אתה רוצה להמיר קבוצה אחרת של קבצים, שנה את פרמטר המחרוזת שאתה מעביר ל- glob() שיטה.
בניית GUI באמצעות Python
ספריות Python כמו Pillow מקלות על פיתוח כלים להתמודדות עם תמונות ב- Python. אתה יכול לבצע משימות במהירות עם ממשק שורת פקודה, אבל ממשק ממשק משתמש חיוני ליצירת חוויה ידידותית למשתמש. אתה יכול ליצור יישומי GUI מיוחדים יותר באמצעות מסגרות Python כמו Tkinter ו-wxPython.