Python staat bekend om zijn veelzijdigheid. U kunt real-world hulpprogramma's in Python maken die bepaalde taken kunnen vereenvoudigen en automatiseren.

Leer hoe u een afbeeldingstype-omzetter kunt bouwen met slechts een paar eenvoudige regels Python-code. Of het nu een enkel afbeeldingsbestand is of alle bestanden in een map, u kunt eenvoudig converteren tussen verschillende indelingen.

Vereiste bibliotheken installeren

U moet de Kussen Python-bibliotheek om een ​​afbeeldingstype-omzetter in Python te bouwen. Deze bibliotheek bevordert de beeldverwerkingsmogelijkheden van uw Python-interpreter. U kunt een algemene tool voor beeldverwerking maken met behulp van verschillende modules van deze bibliotheek. Enkele van de meest bruikbare zijn de Afbeelding, Beeldbestand, AfbeeldingFilter, En AfbeeldingStatus modules.

Voer de volgende opdracht uit in de terminal om de Pillow Python-bibliotheek te installeren:

Pip installeren kussen

Zodra je Pillow op je systeem hebt geïnstalleerd, ben je klaar om met afbeeldingen te werken.

instagram viewer

Eigenschappen van een afbeelding laden en weergeven

Eerst moet u de Afbeelding moduul uit de PIL bibliotheek om de code in te stellen. Vervolgens moet u de Afbeelding.open() methode om de afbeelding te laden en toe te wijzen aan een variabele. Nadat u de afbeelding hebt geladen, kunt u deze weergeven met behulp van de show() methode.

De conversiecode voor het beeldformaat is beschikbaar in een GitHub-opslagplaats en is gratis voor u om te gebruiken onder de MIT-licentie.

van PIL importeren Afbeelding
afbeelding = Afbeelding.open('voorbeeld-afbeelding.jpg')
afbeelding.show()

De afbeelding die u als parameter hebt doorgegeven aan het open() methode wordt geopend nadat u de code hebt uitgevoerd. Dit is een goede eerste stap, als een gezond verstand, om ervoor te zorgen dat u de bibliotheek met succes op uw systeem hebt geïnstalleerd.

De afbeeldingsmodule biedt verschillende andere eigenschappen die u kunt gebruiken om meer informatie over de afbeelding te krijgen.

# Bibliotheek importeren
van PIL importeren Afbeelding

# De afbeelding laden
afbeelding = Afbeelding.open('voorbeeld-afbeelding.jpg')

# Drukt de naam van het bestand af
afdrukken("Bestandsnaam: ", afbeelding.bestandsnaam)

# Drukt het formaat van het bestand af
# Bijv. PNG, JPG, GIF, etc.
afdrukken("Formaat: ", Beeldformaat)

# Drukt de modus van het bestand af
# Bijv. RGB, RFBA, CMYK, etc.
afdrukken("Modus: ", afbeeldingsmodus)

# Drukt de grootte af als een breedte- en hoogte-tuple (in pixels)
afdrukken("Maat: ", afbeeldingsgrootte)

# Drukt de breedte van de afbeelding af (in pixels)
afdrukken("Breedte: ", afbeeldingsbreedte)

# Drukt de hoogte van de afbeelding af (in pixels)
afdrukken("Hoogte: ", afbeelding.hoogte)

# De afbeelding sluiten
afbeelding.dichtbij()

U zou een aantal zinvolle gegevens zonder fouten moeten zien:

Hoe afbeeldingsformaat te converteren met behulp van Python

U kunt eenvoudig het bestandsformaat van een afbeelding converteren met behulp van de redden() methode. Je hoeft alleen maar de nieuwe door te geven bestandsnaam en extensie als een parameter voor de redden() methode. De redden() methode identificeert automatisch de extensie die u hebt doorgegeven en slaat de afbeelding vervolgens op in het geïdentificeerde formaat. Maar voordat u de redden() methode, moet u mogelijk de modus van de afbeelding specificeren (RGB, RGBA, CMYK, HSV, enz.).

Volgens de officiële kussendocumentatie, is de modus van een afbeelding een tekenreeks die het type en de diepte van een pixel in de afbeelding definieert. De kussenbibliotheek ondersteunt 11 modi, waaronder de volgende standaardmodi:

RGB (3x8-bits pixels, ware kleur)

RGBA (4x8-bits pixels, ware kleuren met transparantiemasker)

CMYK (4x8-bits pixels, kleurscheiding)

HSV (3x8-bit pixels, Tint, Verzadiging, Waarde kleurruimte)

Een afbeelding converteren van PNG naar JPG en JPG naar PNG

U moet de tekenreeks doorgeven bestandsnaam.jpg als parameter voor de redden() methode om afbeeldingsbestanden te converteren naar een formaat (PNG, GIF, BMP, TIFF, enz.) naar JPG-formaat. U moet ook de modus van de afbeelding opgeven. De volgende code converteert een afbeelding van PNG-formaat naar JPG-formaat:

# Bibliotheek importeren
van PIL importeren Afbeelding

# De afbeelding laden
afbeelding = Afbeelding.open('voorbeeld-png-afbeelding.png')

# De RGB-modus specificeren voor de afbeelding
afbeelding = afbeelding.convert('RGB')

# Een afbeelding converteren van PNG naar JPG-formaat
afbeelding.opslaan("geconverteerde-jpg-afbeelding.jpg")
afdrukken("Afbeelding succesvol geconverteerd!"

U verliest alle transparantie in een afbeelding als u deze converteert naar JPG-indeling. Als u de transparantie probeert te behouden met behulp van de RGBA modus, zal Python een fout genereren.

U kunt een afbeelding in elk formaat converteren naar PNG-indeling met behulp van de redden() methode. U hoeft alleen de PNG-afbeelding als parameter door te geven aan het redden() methode. De volgende code converteert een afbeelding van JPG-indeling naar PNG-indeling:

# Bibliotheek importeren
van PIL importeren Afbeelding

# De afbeelding laden
afbeelding = Afbeelding.open('voorbeeld-jpg-afbeelding.jpg')

# Afbeelding converteren van JPG naar PNG-indeling
afbeelding.opslaan("geconverteerde-png-afbeelding.png")
afdrukken("Afbeelding succesvol geconverteerd!")

Door een afbeelding naar PNG te converteren, blijft de transparantie behouden. Als u bijvoorbeeld een transparante GIF-afbeelding converteert naar een PNG-afbeelding, is het resultaat nog steeds een transparante afbeelding.

Hoe een afbeelding naar een ander formaat te converteren met behulp van Python

Vergelijkbaar met de bovenstaande stappen, kunt u een afbeelding in elk formaat converteren naar elk ander formaat met behulp van de redden() methode. U hoeft alleen de juiste afbeeldingsextensie (.webp, .png, .bmp, enz.) aan de redden() methode. De volgende code converteert bijvoorbeeld een afbeelding van PNG naar WebP-indeling:

# Bibliotheek importeren
van PIL importeren Afbeelding

# De afbeelding laden
afbeelding = Afbeelding.open('voorbeeld-transparante-png-afbeelding.png')

# Een afbeelding converteren van PNG naar WEBP-indeling
afbeelding.opslaan("geconverteerde-webp-image.webp")
afdrukken("Afbeelding succesvol geconverteerd!")

Foutafhandeling voor ontbrekende afbeeldingsbestanden

Als de code de invoerafbeelding niet kan vinden, wordt er een fout gegenereerd. U kunt dit regelen met behulp van de FileNotFoundErrorPython-uitzondering.

# Bibliotheek importeren
van PIL importeren Afbeelding

poging:
# De afbeelding laden
afbeelding = Afbeelding.open('verkeerde-bestandsnaam.jpg')

# Afbeelding converteren van JPG naar PNG-indeling
afbeelding.opslaan("geconverteerde-png-afbeelding.png")
afdrukken("Afbeelding succesvol geconverteerd!")

behalve FileNotFoundError:
afdrukken("Kon't vind de verstrekte afbeelding")

Alle afbeeldingen in een map converteren naar een ander formaat

Als er meerdere afbeeldingsbestanden in een map staan ​​die u naar een ander formaat wilt converteren, kunt u dit eenvoudig doen met slechts een paar regels code in Python. U moet de bol bibliotheek om door de bestanden in de huidige map of in een bepaalde map te bladeren. De volgende code converteert alle JPG-afbeeldingen in de huidige map naar PNG-indeling:

van PIL importeren Afbeelding
importeren bol

voor bestand in glob.glob("*.jpg"):
afbeelding = Afbeelding.open (bestand)
afbeelding.opslaan (bestand.vervangen("jpg", "png"))

Als u een andere set bestanden wilt converteren, wijzigt u de tekenreeksparameter die u doorgeeft aan het klodder() methode.

Bouw een GUI met behulp van Python

Python-bibliotheken zoals Pillow maken het gemakkelijk om tools te ontwikkelen om met afbeeldingen in Python om te gaan. U kunt taken snel uitvoeren met een opdrachtregelinterface, maar een GUI is essentieel om een ​​gebruiksvriendelijke ervaring te creëren. U kunt meer gespecialiseerde GUI-applicaties maken met behulp van Python-frameworks zoals Tkinter en wxPython.