Python on tuntud oma mitmekülgsuse poolest. Pythonis saate luua reaalseid utiliite, mis võivad teatud toiminguid lihtsustada ja automatiseerida.

Siit saate teada, kuidas luua pilditüübi muundurit vaid mõne lihtsa Pythoni koodireaga. Olenemata sellest, kas see on üks pildifail või kõik failid kataloogis, saate hõlpsasti teisendada erinevate vormingute vahel.

Nõutavate teekide installimine

Peate installima Padi Pythoni teek kujutise tüüpi konverteri loomiseks Pythonis. See teek täiustab teie Pythoni tõlgi pilditöötlusvõimalusi. Selle teegi mitme mooduli abil saate luua üldise pilditöötlustööriista. Mõned kõige kasulikumad on Pilt, Pildifail, Pildifilter, ja ImageStat moodulid.

Pillow Pythoni teegi installimiseks käivitage terminalis järgmine käsk:

pip installida padi

Kui olete oma süsteemi installinud Pillow, olete piltidega töötamiseks valmis.

Pildi laadimine ja atribuutide kuvamine

Kõigepealt peate importima Pilt moodulist PIL raamatukogu koodi seadistamiseks. Järgmisena peate kasutama Image.open()

meetod pildi laadimiseks ja muutujale määramiseks. Kui olete pildi laadinud, saate selle kuvada kasutades näita () meetod.

Pildivormingu konverteri kood on saadaval a GitHubi hoidla ja seda saate MIT-i litsentsi alusel tasuta kasutada.

alates PIL importida Pilt
pilt = Image.open('sample-image.jpg')
pilt.näita()

Pilt, mille edastasite parameetrina avatud () meetod avaneb pärast koodi käivitamist. See on hea esimene samm terve mõistuse kontrollimiseks, et veenduda, et olete teegi oma süsteemi edukalt installinud.

Pildimoodul pakub mitmeid muid atribuute, mida saate kasutada pildi kohta lisateabe saamiseks.

# Teegi importimine
alates PIL importida Pilt

# Pildi laadimine
pilt = Image.open('sample-image.jpg')

# Prindib faili nime
print("Faili nimi: ", pilt.failinimi)

# Prindib faili vormingu
# Nt - PNG, JPG, GIF jne.
print("Vorming: ", image.format)

# Prindib faili režiimi
# Nt - RGB, RFBA, CMYK jne.
print("Režiim: ", pilt.režiim)

# Prindib suuruse laiuse ja kõrguse korrusena (pikslites)
print("Suurus: ", pildi suurus)

# Prindib pildi laiuse (pikslites)
print("Laius: ", image.width)

# Prindib pildi kõrguse (pikslites)
print("Kõrgus: ", pilt.kõrgus)

# Pildi sulgemine
pilt.Sulge()

Peaksite nägema olulisi andmeid ilma vigadeta:

Kuidas Pythoni abil pildivormingut teisendada

Saate lihtsalt teisendada pildi failivormingu, kasutades salvesta () meetod. Peate lihtsalt uue läbima faili nimi ja laiendus parameetrina salvesta () meetod. The salvesta () meetod tuvastab automaatselt teie edastatud laienduse ja salvestab seejärel pildi tuvastatud vormingus. Kuid enne kasutamist salvesta () meetodit, peate võib-olla määrama pildi režiimi (RGB, RGBA, CMYK, HSV jne).

Vastavalt ametlik padja dokumentatsioon, on pildi režiim string, mis määrab pildi piksli tüübi ja sügavuse. Padja raamatukogu toetab 11 režiimi, sealhulgas järgmisi standardrežiime:

RGB (3x8-bitised pikslid, tõeline värv)

RGBA (4x8-bitised pikslid, tõeline värv läbipaistvusmaskiga)

CMYK (4x8-bitised pikslid, värvieraldus)

HSV (3x8-bitised pikslid, toon, küllastus, väärtuse värviruum)

Kuidas teisendada pilti PNG-st JPG-ks ja JPG-st PNG-ks

Peate stringi läbima failinimi.jpg parameetrina salvesta () meetod pildifailide teisendamiseks mis tahes vormingus (PNG, GIF, BMP, TIFF jne) JPG-vormingusse. Samuti peate määrama pildi režiimi. Järgmine kood teisendab pildi PNG-vormingust JPG-vormingusse:

# Raamatukogu importimine
alates PIL importida Pilt

# Pildi laadimine
pilt = Image.open('sample-png-image.png')

# RGB-režiimi määramine pildile
pilt = image.convert('RGB')

# Pildi teisendamine PNG-vormingust JPG-vormingusse
image.save("converted-jpg-image.jpg")
print("Pilt on edukalt teisendatud!"

Kui teisendate selle JPG-vormingusse, kaotate pildi läbipaistvuse. Kui proovite säilitada läbipaistvust, kasutades RGBA režiimis, annab Python veateate.

Saate teisendada mis tahes vormingus pildi PNG-vormingusse, kasutades salvesta () meetod. Peate lihtsalt PNG-kujutise parameetrina edastama salvesta () meetod. Järgmine kood teisendab pildi JPG-vormingust PNG-vormingusse:

# Raamatukogu importimine
alates PIL importida Pilt

# Pildi laadimine
pilt = Image.open('sample-jpg-image.jpg')

# Pildi teisendamine JPG-st PNG-vormingusse
image.save("converted-png-image.png")
print("Pilt on edukalt teisendatud!")

Pildi teisendamine PNG-vormingusse säilitab igasuguse läbipaistvuse. Näiteks kui teisendate läbipaistva GIF-pildi PNG-kujutiseks, on tulemuseks ikkagi läbipaistev pilt.

Kuidas teisendada pilti Pythoni abil mis tahes muusse vormingusse

Sarnaselt ülaltoodud sammudele saate teisendada mis tahes vormingus pildi mis tahes muusse vormingusse, kasutades salvesta () meetod. Peate lihtsalt sisestama pildile õige pildilaiendi (.webp, .png, .bmp jne). salvesta () meetod. Näiteks teisendab järgmine kood pildi PNG-vormingust WebP-vormingusse:

# Raamatukogu importimine
alates PIL importida Pilt

# Pildi laadimine
pilt = Image.open('sample-transparent-png-image.png')

# Pildi teisendamine PNG-vormingust WEBP-vormingusse
image.save("converted-webp-image.webp")
print("Pilt on edukalt teisendatud!")

Puuduvate pildifailide vigade käsitlemine

Kui kood ei leia sisendpilti, annab see veateate. Saate sellega hakkama, kasutades FileNotFoundErrorPythoni erand.

# Raamatukogu importimine
alates PIL importida Pilt

proovi:
# Pildi laadimine
pilt = Image.open('vale failinimi.jpg')

# Pildi teisendamine JPG-st PNG-vormingusse
image.save("converted-png-image.png")
print("Pilt on edukalt teisendatud!")

välja arvatud FileNotFoundError:
print("Võiks't leia pakutud pilti")

Kõigi kataloogis olevate piltide teisendamine erinevasse vormingusse

Kui kataloogis on mitu pildifaili, mida soovite teisendada muusse vormingusse, saate seda hõlpsasti teha vaid mõne Pythoni koodirea abil. Peate importima glob teek, et korrata praeguses kataloogis või antud kaustas olevaid faile. Järgmine kood teisendab kõik praeguses kataloogis olevad JPG-pildid PNG-vormingusse:

alates PIL importida Pilt
importida glob

faili jaoks glob.glob("*.jpg"):
pilt = Image.open (fail)
image.save (file.replace("jpg", "png"))

Kui soovite teisendada teistsugust failikomplekti, muutke stringiparameetrit, mille edastate glob() meetod.

Ehitage Pythoni abil GUI

Pythoni teegid nagu Pillow muudavad Pythonis piltidega töötlemiseks tööriistade väljatöötamise lihtsaks. Saate ülesandeid kiiresti täita käsurea liidesega, kuid GUI on kasutajasõbraliku kogemuse loomiseks hädavajalik. Saate luua spetsiaalsemaid GUI-rakendusi, kasutades Pythoni raamistikke, nagu Tkinter ja wxPython.