Python este cunoscut pentru versatilitatea sa. Puteți crea instrumente utilitare din lumea reală în Python, care pot simplifica și automatiza anumite sarcini.

Aflați cum să construiți un convertor de tip de imagine cu doar câteva linii simple de cod Python. Indiferent dacă este vorba de un singur fișier imagine sau de toate fișierele dintr-un director, puteți converti cu ușurință între diferite formate.

Instalarea bibliotecilor necesare

Trebuie să instalați Pernă Biblioteca Python pentru a construi un convertor de tip imagine în Python. Această bibliotecă avansează capacitățile de procesare a imaginii ale interpretului dumneavoastră Python. Puteți crea un instrument general de procesare a imaginilor folosind mai multe module ale acestei biblioteci. Unele dintre cele mai utile sunt Imagine, ImageFile, ImageFilter, și ImageStat module.

Rulați următoarea comandă în terminal pentru a instala biblioteca Pillow Python:

pip instalare pernă

Odată ce ați instalat Pillow pe sistemul dvs., sunteți gata să lucrați cu imagini.

instagram viewer

Încărcarea și afișarea proprietăților unei imagini

Mai întâi trebuie să importați Imagine modul din PIL bibliotecă pentru a configura codul. În continuare, trebuie să utilizați Image.open() metoda de a încărca imaginea și de a o atribui unei variabile. Odată ce ați încărcat imaginea, o puteți afișa folosind spectacol() metodă.

Codul de conversie a formatului de imagine este disponibil în format a Depozitul GitHub și este gratuit pentru utilizare sub licența MIT.

din PIL import Imagine
imagine = Image.open('sample-image.jpg')
imagine.spectacol()

Imaginea pe care ați transmis-o ca parametru către deschis() metoda se va deschide după ce executați codul. Acesta este un prim pas bun, ca o verificare a sensului, pentru a vă asigura că ați instalat cu succes biblioteca pe sistemul dumneavoastră.

Modulul Imagine oferă câteva alte proprietăți pe care le puteți utiliza pentru a obține mai multe informații despre imagine.

# Import bibliotecă
din PIL import Imagine

# Se încarcă imaginea
imagine = Image.open('sample-image.jpg')

# Tipărește numele fișierului
imprimare("Nume de fișier: ", imagine.filename)

# Imprimă formatul fișierului
# De exemplu, PNG, JPG, GIF etc.
imprimare("Format: ", imagine.format)

# Imprimă modul fișierului
# De exemplu, RGB, RFBA, CMYK etc.
imprimare("Mod: ", imagine.mode)

# Tipărește dimensiunea ca un tuplu de lățime și înălțime (în pixeli)
imprimare("Mărimea: ", marimea imaginii)

# Imprimă lățimea imaginii (în pixeli)
imprimare("Lăţime: ", image.width)

# Imprimă înălțimea imaginii (în pixeli)
imprimare("Înălţime: ", imagine.înălțime)

# Închiderea imaginii
imagine.închide()

Ar trebui să vedeți câteva date semnificative, fără erori:

Cum se convertesc formatul de imagine folosind Python

Puteți converti pur și simplu formatul de fișier al unei imagini folosind Salvați() metodă. Trebuie doar să treci noul nume de fișier și extensia ca parametru la Salvați() metodă. The Salvați() metoda va identifica automat extensia pe care ați trecut-o și apoi va salva imaginea în formatul identificat. Dar înainte de a folosi Salvați() metoda, poate fi necesar să specificați modul imaginii (RGB, RGBA, CMYK, HSV etc.).

Conform documentația oficială a pernei, modul unei imagini este un șir care definește tipul și adâncimea unui pixel din imagine. Biblioteca de perne acceptă 11 moduri, inclusiv următoarele moduri standard:

RGB (pixeli 3x8 biți, culoare adevărată)

RGBA (pixeli 4x8 biți, culoare adevărată cu mască de transparență)

CMYK (pixeli 4x8 biți, separare a culorilor)

HSV (pixeli 3x8 biți, Nuanță, Saturație, spațiu de culoare Valoare)

Cum se transformă o imagine din PNG în JPG și JPG în PNG

Trebuie să treci sfoara nume de fișier.jpg ca parametru al Salvați() metodă de a converti fișiere imagine în orice format (PNG, GIF, BMP, TIFF etc.) în format JPG. De asemenea, trebuie să furnizați modul imaginii. Următorul cod convertește o imagine din Format PNG în format JPG:

# Import bibliotecă
din PIL import Imagine

# Se încarcă imaginea
imagine = Image.open('sample-png-image.png')

# Specificarea modului RGB pentru imagine
imagine = imagine.convert('RGB')

# Convertirea unei imagini din format PNG în JPG
imagine.save("converted-jpg-image.jpg")
imprimare("Imaginea a fost convertită cu succes!"

Veți pierde orice transparență dintr-o imagine dacă o convertiți în format JPG. Dacă încercați să păstrați transparența folosind RGBA modul, Python va arunca o eroare.

Puteți converti o imagine în orice format în format PNG folosind Salvați() metodă. Trebuie doar să treceți imaginea PNG ca parametru către Salvați() metodă. Următorul cod convertește o imagine din formatul JPG în format PNG:

# Import bibliotecă
din PIL import Imagine

# Se încarcă imaginea
imagine = Image.open('sample-jpg-image.jpg')

# Convertirea imaginii din JPG în format PNG
imagine.save("converted-png-image.png")
imprimare("Imaginea a fost convertită cu succes!")

Convertirea unei imagini în PNG păstrează orice transparență. De exemplu, dacă convertiți o imagine GIF transparentă într-o imagine PNG, rezultatul va fi în continuare o imagine transparentă.

Cum să convertiți o imagine în orice alt format folosind Python

Similar cu pașii de mai sus, puteți converti o imagine în orice format în orice alt format folosind Salvați() metodă. Trebuie doar să furnizați extensia corectă a imaginii (.webp, .png, .bmp etc.) Salvați() metodă. De exemplu, următorul cod convertește o imagine din format PNG în format WebP:

# Import bibliotecă
din PIL import Imagine

# Se încarcă imaginea
imagine = Image.open('eșantion-transparent-png-image.png')

# Convertirea unei imagini din format PNG în format WEBP
imagine.save("converted-webp-image.webp")
imprimare("Imaginea a fost convertită cu succes!")

Gestionarea erorilor pentru fișierele imagine lipsă

În cazul în care codul nu poate găsi imaginea de intrare, va genera o eroare. Puteți gestiona acest lucru folosind FileNotFoundErrorExcepție Python.

# Import bibliotecă
din PIL import Imagine

încerca:
# Se încarcă imaginea
imagine = Image.open('greșit-filename.jpg')

# Convertirea imaginii din JPG în format PNG
imagine.save("converted-png-image.png")
imprimare("Imaginea a fost convertită cu succes!")

cu exceptia FileNotFoundError:
imprimare("Couldn'nu găsesc imaginea furnizată")

Conversia tuturor imaginilor dintr-un director într-un format diferit

Dacă într-un director există mai multe fișiere imagine pe care doriți să le convertiți într-un alt format, puteți face acest lucru cu ușurință cu doar câteva linii de cod în Python. Trebuie să importați glob bibliotecă pentru a itera prin fișierele din directorul curent sau dintr-un folder dat. Următorul cod convertește toate imaginile JPG din directorul curent în format PNG:

din PIL import Imagine
import glob

pentru fișierul din glob.glob("*.jpg"):
imagine = Image.open (fișier)
imagine.save (file.replace("jpg", "png"))

Dacă doriți să convertiți un alt set de fișiere, modificați parametrul șir pe care îl transmiteți glob() metodă.

Construiți o interfață grafică folosind Python

Bibliotecile Python precum Pillow facilitează dezvoltarea instrumentelor pentru a trata imaginile în Python. Puteți efectua sarcini rapid cu o interfață de linie de comandă, dar o interfață grafică este esențială pentru a crea o experiență ușor de utilizat. Puteți crea aplicații GUI mai specializate folosind cadre Python precum Tkinter și wxPython.