Python je znan po svoji vsestranskosti. V Pythonu lahko ustvarite resnična orodja, ki lahko poenostavijo in avtomatizirajo določena opravila.

Naučite se sestaviti pretvornik tipov slik z le nekaj preprostimi vrsticami kode Python. Ne glede na to, ali gre za eno slikovno datoteko ali za vse datoteke v imeniku, lahko preprosto pretvarjate med različnimi formati.

Namestitev zahtevanih knjižnic

Namestiti morate Blazina Knjižnica Python za izdelavo pretvornika tipa slike v Pythonu. Ta knjižnica izboljšuje zmožnosti obdelave slik vašega tolmača Python. Z več moduli te knjižnice lahko ustvarite splošno orodje za obdelavo slik. Nekateri najbolj uporabni so Slika, ImageFile, ImageFilter, in ImageStat moduli.

Zaženite naslednji ukaz v terminalu, da namestite knjižnico Pillow Python:

pip namestite blazina

Ko imate Pillow nameščen v sistem, ste pripravljeni na delo s slikami.

Nalaganje in prikaz lastnosti slike

Najprej morate uvoziti Slika modul iz PIL knjižnico za nastavitev kode. Nato morate uporabiti

instagram viewer
Image.open() metoda za nalaganje slike in njeno dodelitev spremenljivki. Ko naložite sliko, jo lahko prikažete z uporabo pokaži() metoda.

Koda pretvornika formata slike je na voljo v a Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.

od PIL uvoz Slika
slika = Slika.odpri('vzorec-slike.jpg')
slika.pokaži()

Slika, ki ste jo posredovali kot parameter v odprto() metoda se bo odprla po izvedbi kode. To je dober prvi korak kot preverjanje razumnosti, da zagotovite, da ste knjižnico uspešno namestili v sistem.

Modul Image ponuja številne druge lastnosti, ki jih lahko uporabite za pridobitev več informacij o sliki.

# Uvažanje knjižnice
od PIL uvoz Slika

# Nalaganje slike
slika = Slika.odpri('vzorec-slike.jpg')

# Natisne ime datoteke
natisni("Ime datoteke: ", slika.ime datoteke)

# Natisne obliko datoteke
# Npr. PNG, JPG, GIF itd.
natisni("Oblika: ", image.format)

# Natisne način datoteke
# Npr. RGB, RFBA, CMYK itd.
natisni("način: ", image.mode)

# Natisne velikost kot tuple širine in višine (v slikovnih pikah)
natisni("Velikost: ", velikost slike)

# Natisne širino slike (v slikovnih pikah)
natisni("Premer: ", image.width)

# Natisne višino slike (v slikovnih pikah)
natisni("Višina: ", slika.višina)

# Zapiranje slike
slika.zapri()

Videti bi morali nekaj pomembnih podatkov brez napak:

Kako pretvoriti obliko slike s Pythonom

Format datoteke slike lahko preprosto pretvorite z uporabo shrani() metoda. Prenesti morate le novo Ime datoteke in razširitev kot parameter za shrani() metoda. The shrani() metoda bo samodejno identificirala razširitev, ki ste jo posredovali, in nato shranila sliko v prepoznanem formatu. Toda pred uporabo shrani() način, boste morda morali določiti način slike (RGB, RGBA, CMYK, HSV itd.).

Po navedbah uradna dokumentacija o vzglavniku, je način slike niz, ki določa vrsto in globino piksla na sliki. Knjižnica vzglavnikov podpira 11 načinov, vključno z naslednjimi standardnimi načini:

RGB (3x8-bitne slikovne pike, prave barve)

RGBA (4x8-bitne slikovne pike, prave barve s prosojno masko)

CMYK (4x8-bitne slikovne pike, barvno ločevanje)

HSV (3x8-bitne slikovne pike, odtenek, nasičenost, barvni prostor vrednosti)

Kako pretvoriti sliko iz PNG v JPG in JPG v PNG

Prenesti morate niz ime datoteke.jpg kot parameter za shrani() način za pretvorbo slikovnih datotek v katero koli (PNG, GIF, BMP, TIFF itd.) v format JPG. Prav tako morate zagotoviti način slike. Naslednja koda pretvori sliko iz formata PNG v format JPG:

# Uvažanje knjižnice
od PIL uvoz Slika

# Nalaganje slike
slika = Slika.odpri('vzorec-png-slika.png')

# Določanje načina RGB za sliko
slika = slika.pretvori('RGB')

# Pretvarjanje slike iz formata PNG v JPG
image.save("pretvorjena-jpg-slika.jpg")
natisni("Slika uspešno pretvorjena!"

Če sliko pretvorite v format JPG, boste izgubili prosojnost. Če poskušate ohraniti preglednost z uporabo RGBA način, bo Python vrgel napako.

Sliko v katerem koli formatu lahko pretvorite v format PNG z uporabo shrani() metoda. Preprosto morate posredovati sliko PNG kot parameter v shrani() metoda. Naslednja koda pretvori sliko iz formata JPG v format PNG:

# Uvažanje knjižnice
od PIL uvoz Slika

# Nalaganje slike
slika = Slika.odpri('vzorec-jpg-slika.jpg')

# Pretvorba slike iz formata JPG v PNG
image.save("pretvorjena-png-slika.png")
natisni("Slika uspešno pretvorjena!")

Pretvorba slike v PNG ohrani prosojnost. Če na primer pretvorite prosojno sliko GIF v sliko PNG, bo rezultat še vedno prosojna slika.

Kako pretvoriti sliko v katero koli drugo obliko z uporabo Pythona

Podobno kot pri zgornjih korakih lahko pretvorite sliko v kateri koli obliki v katero koli drugo obliko z uporabo shrani() metoda. Zagotoviti morate le pravilno končnico slike (.webp, .png, .bmp itd.) shrani() metoda. Naslednja koda na primer pretvori sliko iz zapisa PNG v format WebP:

# Uvažanje knjižnice
od PIL uvoz Slika

# Nalaganje slike
slika = Slika.odpri('vzorec-transparent-png-image.png')

# Pretvorba slike iz formata PNG v WEBP
image.save("pretvorjena-webp-slika.webp")
natisni("Slika uspešno pretvorjena!")

Obravnava napak pri manjkajočih slikovnih datotekah

Če koda ne najde vhodne slike, bo vrgla napako. To lahko rešite z uporabo FileNotFoundErrorPython izjema.

# Uvažanje knjižnice
od PIL uvoz Slika

poskusi:
# Nalaganje slike
slika = Slika.odpri('napačno ime-datoteke.jpg')

# Pretvorba slike iz formata JPG v PNG
image.save("pretvorjena-png-slika.png")
natisni("Slika uspešno pretvorjena!")

razen FileNotFoundError:
natisni("Ne morem'ne najde priložene slike")

Pretvarjanje vseh slik v imeniku v drugo obliko

Če je v imeniku več slikovnih datotek, ki jih želite pretvoriti v drugo obliko, lahko to enostavno storite z le nekaj vrsticami kode v Pythonu. Uvoziti morate glob knjižnico za ponavljanje datotek v trenutnem imeniku ali znotraj dane mape. Naslednja koda pretvori vse slike JPG v trenutnem imeniku v format PNG:

od PIL uvoz Slika
uvoz glob

za datoteko v glob.glob("*.jpg"):
image = Image.open (datoteka)
image.save (file.replace("jpg", "png"))

Če želite pretvoriti drug niz datotek, spremenite parameter niza, ki ga posredujete v glob() metoda.

Zgradite GUI z uporabo Pythona

Knjižnice Python, kot je Pillow, olajšajo razvoj orodij za delo s slikami v Pythonu. Naloge lahko hitro izvajate z vmesnikom ukazne vrstice, vendar je GUI bistvenega pomena za ustvarjanje uporabniku prijazne izkušnje. Z uporabo ogrodij Python, kot sta Tkinter in wxPython, lahko ustvarite bolj specializirane aplikacije GUI.