Python je poznat po svojoj svestranosti. U Pythonu možete izraditi uslužne alate iz stvarnog svijeta koji mogu pojednostaviti i automatizirati određene zadatke.

Naučite kako izraditi pretvarač tipa slike sa samo nekoliko jednostavnih redaka Python koda. Bilo da se radi o jednoj slikovnoj datoteci ili o svim datotekama u direktoriju, možete jednostavno pretvoriti između različitih formata.

Instaliranje potrebnih biblioteka

Morate instalirati Jastuk Python biblioteka za izradu pretvarača tipa slike u Pythonu. Ova biblioteka unapređuje mogućnosti obrade slika vašeg Python tumača. Možete izraditi opći alat za obradu slika pomoću nekoliko modula ove biblioteke. Neki od najkorisnijih su Slika, ImageFile, Filtar slike, i ImageStat moduli.

Pokrenite sljedeću naredbu u terminalu da biste instalirali biblioteku Pillow Python:

pip instalirati jastuk

Nakon što ste Pillow instalirali na svoj sustav, spremni ste za rad sa slikama.

Učitavanje i prikazivanje svojstava slike

Prvo morate uvesti Slika modul iz

instagram viewer
PIL knjižnica za postavljanje koda. Zatim morate upotrijebiti Image.open() metoda za učitavanje slike i njezino dodjeljivanje varijabli. Nakon što učitate sliku, možete je prikazati pomoću pokazati() metoda.

Kod pretvarača formata slike dostupan je u a GitHub spremište i besplatan je za korištenje pod MIT licencom.

iz PIL uvoz Slika
slika = slika.open('uzorak-slike.jpg')
slika.pokazati()

Slika koju ste proslijedili kao parametar u otvoren() metoda će se otvoriti nakon što izvršite kod. Ovo je dobar prvi korak, kao provjera ispravnosti, kako biste bili sigurni da ste uspješno instalirali biblioteku na svoj sustav.

Modul Image nudi nekoliko drugih svojstava koja možete koristiti za dobivanje više informacija o slici.

# Uvoz knjižnice
iz PIL uvoz Slika

# Učitavanje slike
slika = slika.open('uzorak-slike.jpg')

# Ispisuje naziv datoteke
ispis("Naziv datoteke: ", slika.ime datoteke)

# Ispisuje format datoteke
# Npr. PNG, JPG, GIF itd.
ispis("Format: ", image.format)

# Ispisuje način rada datoteke
# Npr- RGB, RFBA, CMYK, itd.
ispis("Način rada: ", image.mode)

# Ispisuje veličinu kao tuple širine i visine (u pikselima)
ispis("Veličina: ", veličina slike)

# Ispisuje širinu slike (u pikselima)
ispis("Širina: ", slika.širina)

# Ispisuje visinu slike (u pikselima)
ispis("Visina: ", slika.visina)

# Zatvaranje slike
slika.Zatvoriti()

Trebali biste vidjeti neke smislene podatke bez pogrešaka:

Kako pretvoriti format slike pomoću Pythona

Možete jednostavno pretvoriti format datoteke slike pomoću uštedjeti() metoda. Samo trebate proći novi naziv datoteke i proširenje kao parametar za uštedjeti() metoda. The uštedjeti() metoda će automatski identificirati proširenje koje ste proslijedili i zatim spremiti sliku u identificiranom formatu. Ali prije upotrebe uštedjeti() način, možda ćete morati odrediti način slike (RGB, RGBA, CMYK, HSV, itd.).

Prema službenu dokumentaciju jastuka, način slike je niz koji definira vrstu i dubinu piksela na slici. Knjižnica jastuka podržava 11 načina rada uključujući sljedeće standardne načine rada:

RGB (3x8-bitni pikseli, prava boja)

RGBA (4x8-bitni pikseli, prava boja s maskom prozirnosti)

CMYK (4x8-bitni pikseli, odvajanje boja)

HSV (3x8-bitni pikseli, nijansa, zasićenost, vrijednost prostora boja)

Kako pretvoriti sliku iz PNG u JPG i JPG u PNG

Trebate proslijediti niz naziv datoteke.jpg kao parametar za uštedjeti() način pretvaranja slikovnih datoteka u bilo koji format (PNG, GIF, BMP, TIFF itd.) u JPG format. Također, trebate osigurati način rada slike. Sljedeći kod pretvara sliku iz PNG formata u JPG format:

# Uvoz biblioteke
iz PIL uvoz Slika

# Učitavanje slike
slika = slika.open('uzorak-png-slike.png')

# Određivanje RGB načina za sliku
slika = slika.pretvori('RGB')

# Pretvaranje slike iz PNG u JPG format
image.save("pretvorena-jpg-slika.jpg")
ispis("Slika je uspješno konvertirana!"

Izgubit ćete svu prozirnost slike ako je pretvorite u JPG format. Ako pokušate sačuvati prozirnost pomoću RGBA modu, Python će izbaciti pogrešku.

Možete pretvoriti sliku u bilo kojem formatu u PNG format pomoću uštedjeti() metoda. Samo trebate proslijediti PNG sliku kao parametar u uštedjeti() metoda. Sljedeći kod pretvara sliku iz JPG formata u PNG format:

# Uvoz biblioteke
iz PIL uvoz Slika

# Učitavanje slike
slika = slika.open('uzorak-jpg-slike.jpg')

# Pretvaranje slike iz JPG u PNG format
image.save("pretvorena-png-slika.png")
ispis("Slika je uspješno konvertirana!")

Pretvaranjem slike u PNG zadržava se svaka prozirnost. Na primjer, ako pretvorite prozirnu GIF sliku u PNG sliku, rezultat će i dalje biti prozirna slika.

Kako pretvoriti sliku u bilo koji drugi format pomoću Pythona

Slično gornjim koracima, možete pretvoriti sliku u bilo kojem formatu u bilo koji drugi format pomoću uštedjeti() metoda. Samo trebate dati ispravnu ekstenziju slike (.webp, .png, .bmp itd.) uštedjeti() metoda. Na primjer, sljedeći kod pretvara sliku iz PNG u WebP format:

# Uvoz biblioteke
iz PIL uvoz Slika

# Učitavanje slike
slika = slika.open('uzorak-prozirne-png-slike.png')

# Pretvaranje slike iz PNG u WEBP format
image.save("pretvorena-webp-slika.webp")
ispis("Slika je uspješno konvertirana!")

Rješavanje pogrešaka za slikovne datoteke koje nedostaju

U slučaju da kod ne može pronaći ulaznu sliku, izbacit će pogrešku. To možete riješiti pomoću FileNotFoundErrorPython izuzetak.

# Uvoz biblioteke
iz PIL uvoz Slika

probati:
# Učitavanje slike
slika = slika.open('pogrešan-naziv-datoteke.jpg')

# Pretvaranje slike iz JPG u PNG format
image.save("pretvorena-png-slika.png")
ispis("Slika je uspješno konvertirana!")

osim FileNotFoundError:
ispis("Ne mogu't pronaći ponuđenu sliku")

Pretvaranje svih slika u direktoriju u drugi format

Ako u direktoriju postoji nekoliko slikovnih datoteka koje želite pretvoriti u drugi format, to možete jednostavno učiniti sa samo nekoliko redaka koda u Pythonu. Morate uvesti glob knjižnica za ponavljanje kroz datoteke u trenutnom direktoriju ili unutar zadane mape. Sljedeći kod pretvara sve JPG slike u trenutnom direktoriju u PNG format:

iz PIL uvoz Slika
uvoz glob

za datoteku u glob.glob("*.jpg"):
slika = Slika.open (datoteka)
image.save (file.replace("jpg", "png"))

Ako želite pretvoriti drugačiji skup datoteka, promijenite parametar niza koji prosljeđujete u kuglica () metoda.

Izradite GUI koristeći Python

Python biblioteke poput Pillowa olakšavaju razvoj alata za rad sa slikama u Pythonu. Možete brzo izvršavati zadatke sa sučeljem naredbenog retka, ali GUI je ključan za stvaranje korisničkog iskustva. Možete izraditi više specijaliziranih GUI aplikacija koristeći Python okvire kao što su Tkinter i wxPython.