Η Python είναι γνωστή για την ευελιξία της. Μπορείτε να δημιουργήσετε εργαλεία χρησιμότητας πραγματικού κόσμου στην Python που μπορούν να απλοποιήσουν και να αυτοματοποιήσουν ορισμένες εργασίες.

Μάθετε πώς να δημιουργείτε έναν μετατροπέα τύπου εικόνας με μερικές απλές γραμμές κώδικα Python. Είτε πρόκειται για ένα μόνο αρχείο εικόνας είτε για όλα τα αρχεία σε έναν κατάλογο, μπορείτε εύκολα να κάνετε μετατροπή μεταξύ διαφορετικών μορφών.

Εγκατάσταση Απαιτούμενων Βιβλιοθηκών

Πρέπει να εγκαταστήσετε το Μαξιλάρι Βιβλιοθήκη Python για τη δημιουργία ενός μετατροπέα τύπου εικόνας στην Python. Αυτή η βιβλιοθήκη προάγει τις δυνατότητες επεξεργασίας εικόνας του διερμηνέα Python. Μπορείτε να δημιουργήσετε ένα γενικό εργαλείο επεξεργασίας εικόνας χρησιμοποιώντας διάφορες μονάδες αυτής της βιβλιοθήκης. Μερικά από τα πιο χρήσιμα είναι τα Εικόνα, Αρχείο εικόνας, Φίλτρο εικόνας, και ImageStat ενότητες.

Εκτελέστε την ακόλουθη εντολή στο τερματικό για να εγκαταστήσετε τη βιβλιοθήκη Pillow Python:

κουκούτσι εγκαθιστώ μαξιλάρι

Μόλις εγκαταστήσετε το Pillow στο σύστημά σας, είστε έτοιμοι να εργαστείτε με εικόνες.

Φόρτωση και εμφάνιση ιδιοτήτων μιας εικόνας

Πρώτα πρέπει να εισαγάγετε το Εικόνα ενότητα από το PIL βιβλιοθήκη για να ρυθμίσετε τον κώδικα. Στη συνέχεια, πρέπει να χρησιμοποιήσετε το Image.open() μέθοδο για να φορτώσετε την εικόνα και να την αντιστοιχίσετε σε μια μεταβλητή. Αφού φορτώσετε την εικόνα, μπορείτε να την εμφανίσετε χρησιμοποιώντας το προβολή() μέθοδος.

Ο κωδικός μετατροπέα μορφής εικόνας είναι διαθέσιμος σε α Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.

από PIL εισαγωγή Εικόνα
εικόνα = Image.open('sample-image.jpg')
εικόνα.προβολή()

Η εικόνα που περάσατε ως παράμετρος στο Άνοιξε() Η μέθοδος θα ανοίξει αφού εκτελέσετε τον κώδικα. Αυτό είναι ένα καλό πρώτο βήμα, ως έλεγχος λογικής, για να βεβαιωθείτε ότι έχετε εγκαταστήσει με επιτυχία τη βιβλιοθήκη στο σύστημά σας.

Η μονάδα Image παρέχει πολλές άλλες ιδιότητες που μπορείτε να χρησιμοποιήσετε για να λάβετε περισσότερες πληροφορίες σχετικά με την εικόνα.

# Εισαγωγή βιβλιοθήκης
από PIL εισαγωγή Εικόνα

# Φόρτωση της εικόνας
εικόνα = Image.open('sample-image.jpg')

# Εκτυπώνει το όνομα του αρχείου
Τυπώνω("Ονομα αρχείου: ", image.filename)

# Εκτυπώνει τη μορφή του αρχείου
# Π.χ.- PNG, JPG, GIF, κ.λπ.
Τυπώνω("Μορφή: ", image.format)

# Εκτυπώνει τη λειτουργία του αρχείου
# Π.χ.- RGB, RFBA, CMYK, κ.λπ.
Τυπώνω("Τρόπος: ", image.mode)

# Εκτυπώνει το μέγεθος ως πλειάδα πλάτους και ύψους (σε pixel)
Τυπώνω("Μέγεθος: ", μέγεθος εικόνας)

# Εκτυπώνει το πλάτος της εικόνας (σε pixel)
Τυπώνω("Πλάτος: ", εικόνα.πλάτος)

# Εκτυπώνει το ύψος της εικόνας (σε pixel)
Τυπώνω("Υψος: ", εικόνα.ύψος)

# Κλείσιμο της εικόνας
εικόνα.Κλείσε()

Θα πρέπει να δείτε μερικά σημαντικά δεδομένα χωρίς σφάλματα:

Πώς να μετατρέψετε τη μορφή εικόνας χρησιμοποιώντας Python

Μπορείτε απλά να μετατρέψετε τη μορφή αρχείου μιας εικόνας χρησιμοποιώντας το αποθηκεύσετε() μέθοδος. Απλά πρέπει να περάσεις το νέο όνομα αρχείου και επέκταση ως παράμετρος στο αποθηκεύσετε() μέθοδος. ο αποθηκεύσετε() Η μέθοδος θα αναγνωρίσει αυτόματα την επέκταση που περάσατε και στη συνέχεια θα αποθηκεύσει την εικόνα στην καθορισμένη μορφή. Πριν όμως χρησιμοποιήσετε το αποθηκεύσετε() μέθοδο, ίσως χρειαστεί να καθορίσετε τη λειτουργία της εικόνας (RGB, RGBA, CMYK, HSV, κ.λπ.).

Σύμφωνα με την επίσημη τεκμηρίωση για το μαξιλάρι, η λειτουργία μιας εικόνας είναι μια συμβολοσειρά που ορίζει τον τύπο και το βάθος ενός pixel στην εικόνα. Η βιβλιοθήκη μαξιλαριών υποστηρίζει 11 λειτουργίες συμπεριλαμβανομένων των παρακάτω τυπικών λειτουργιών:

RGB (3x8-bit pixel, αληθινό χρώμα)

RGBA (4x8-bit pixel, αληθινό χρώμα με μάσκα διαφάνειας)

CMYK (4x8-bit pixel, διαχωρισμός χρωμάτων)

HSV (3x8-bit pixel, Hue, Saturation, Value color space)

Πώς να μετατρέψετε μια εικόνα από PNG σε JPG και JPG σε PNG

Πρέπει να περάσετε τη χορδή όνομα αρχείου.jpg ως παράμετρος στο αποθηκεύσετε() μέθοδος μετατροπής αρχείων εικόνας σε οποιαδήποτε μορφή (PNG, GIF, BMP, TIFF, κ.λπ.) σε μορφή JPG. Επίσης, πρέπει να δώσετε τη λειτουργία της εικόνας. Ο παρακάτω κώδικας μετατρέπει μια εικόνα από Μορφή PNG σε μορφή JPG:

# Εισαγωγή βιβλιοθήκης
από PIL εισαγωγή Εικόνα

# Φόρτωση της εικόνας
εικόνα = Image.open('sample-png-image.png')

# Καθορισμός της λειτουργίας RGB στην εικόνα
εικόνα = image.convert('RGB')

# Μετατροπή εικόνας από μορφή PNG σε JPG
image.save("converted-jpg-image.jpg")
Τυπώνω("Η μετατροπή της εικόνας έγινε με επιτυχία!"

Θα χάσετε οποιαδήποτε διαφάνεια σε μια εικόνα εάν τη μετατρέψετε σε μορφή JPG. Εάν προσπαθήσετε να διατηρήσετε τη διαφάνεια χρησιμοποιώντας το RGBA λειτουργία, η Python θα κάνει ένα σφάλμα.

Μπορείτε να μετατρέψετε μια εικόνα σε οποιαδήποτε μορφή σε μορφή PNG χρησιμοποιώντας το αποθηκεύσετε() μέθοδος. Απλώς πρέπει να περάσετε την εικόνα PNG ως παράμετρο στο αποθηκεύσετε() μέθοδος. Ο ακόλουθος κώδικας μετατρέπει μια εικόνα από μορφή JPG σε μορφή PNG:

# Εισαγωγή βιβλιοθήκης
από PIL εισαγωγή Εικόνα

# Φόρτωση της εικόνας
εικόνα = Image.open('sample-jpg-image.jpg')

# Μετατροπή εικόνας από μορφή JPG σε PNG
image.save("converted-png-image.png")
Τυπώνω("Η μετατροπή της εικόνας έγινε με επιτυχία!")

Η μετατροπή μιας εικόνας σε PNG διατηρεί οποιαδήποτε διαφάνεια. Για παράδειγμα, εάν μετατρέψετε μια διαφανή εικόνα GIF σε μια εικόνα PNG, το αποτέλεσμα θα εξακολουθεί να είναι μια διαφανής εικόνα.

Πώς να μετατρέψετε μια εικόνα σε οποιαδήποτε άλλη μορφή χρησιμοποιώντας Python

Παρόμοια με τα παραπάνω βήματα, μπορείτε να μετατρέψετε μια εικόνα σε οποιαδήποτε μορφή σε οποιαδήποτε άλλη μορφή χρησιμοποιώντας το αποθηκεύσετε() μέθοδος. Απλώς πρέπει να παρέχετε τη σωστή επέκταση εικόνας (.webp, .png, .bmp, κ.λπ.) στο αποθηκεύσετε() μέθοδος. Για παράδειγμα, ο ακόλουθος κώδικας μετατρέπει μια εικόνα από μορφή PNG σε μορφή WebP:

# Εισαγωγή βιβλιοθήκης
από PIL εισαγωγή Εικόνα

# Φόρτωση της εικόνας
εικόνα = Image.open('sample-transparent-png-image.png')

# Μετατροπή εικόνας από μορφή PNG σε μορφή WEBP
image.save("converted-webp-image.webp")
Τυπώνω("Η μετατροπή της εικόνας έγινε με επιτυχία!")

Διαχείριση σφαλμάτων για αρχεία εικόνας που λείπουν

Σε περίπτωση που ο κωδικός δεν μπορεί να βρει την εικόνα εισόδου, θα εμφανίσει σφάλμα. Μπορείτε να το χειριστείτε χρησιμοποιώντας το FileNotFoundErrorΕξαίρεση Python.

# Εισαγωγή βιβλιοθήκης
από PIL εισαγωγή Εικόνα

δοκιμάστε:
# Φόρτωση της εικόνας
εικόνα = Image.open('wrong-filename.jpg')

# Μετατροπή εικόνας από μορφή JPG σε PNG
image.save("converted-png-image.png")
Τυπώνω("Η μετατροπή της εικόνας έγινε με επιτυχία!")

εκτός FileNotFoundError:
Τυπώνω("Μπορούσε'να βρείτε την παρεχόμενη εικόνα")

Μετατροπή όλων των εικόνων σε έναν κατάλογο σε διαφορετική μορφή

Εάν υπάρχουν πολλά αρχεία εικόνας σε έναν κατάλογο, τα οποία θέλετε να μετατρέψετε σε διαφορετική μορφή, μπορείτε εύκολα να το κάνετε με λίγες μόνο γραμμές κώδικα στην Python. Πρέπει να εισαγάγετε το σφαίρα βιβλιοθήκη για επανάληψη μέσω των αρχείων στον τρέχοντα κατάλογο ή μέσα σε έναν δεδομένο φάκελο. Ο παρακάτω κώδικας μετατρέπει όλες τις εικόνες JPG στον τρέχοντα κατάλογο σε μορφή PNG:

από PIL εισαγωγή Εικόνα
εισαγωγή σφαίρα

για αρχείο στο glob.glob("*.jpg"):
εικόνα = Image.open (αρχείο)
image.save (file.replace("jpg", "png"))

Εάν θέλετε να μετατρέψετε ένα διαφορετικό σύνολο αρχείων, αλλάξτε την παράμετρο συμβολοσειράς που μεταβιβάζετε σε glob() μέθοδος.

Δημιουργήστε ένα GUI χρησιμοποιώντας Python

Οι βιβλιοθήκες Python όπως το Pillow διευκολύνουν την ανάπτυξη εργαλείων για την αντιμετώπιση εικόνων στην Python. Μπορείτε να εκτελέσετε εργασίες γρήγορα με μια διεπαφή γραμμής εντολών, αλλά ένα GUI είναι απαραίτητο για να δημιουργήσετε μια φιλική προς το χρήστη εμπειρία. Μπορείτε να δημιουργήσετε πιο εξειδικευμένες εφαρμογές GUI χρησιμοποιώντας πλαίσια Python όπως το Tkinter και το wxPython.