Η μετατροπή εικόνων μεταξύ μορφών ακούγεται σαν κάτι που θα έπρεπε να είναι απλό — απλώς αλλάζεις την κατάληξη, σωστά; Στην πράξη, χιλιάδες χρήστες κάθε μέρα πέφτουν σε δυσνόητα σφάλματα, κατεστραμμένα αρχεία εξόδου και κολλήματα λογισμικού όταν προσπαθούν να μετατρέψουν εικόνες στον υπολογιστή τους. Την ίδια στιγμή, online εργαλεία όπως το GuruPDF εκτελούν ακριβώς τις ίδιες μετατροπές άψογα μέσα σε λίγα δευτερόλεπτα.
Αυτό το άρθρο εξετάζει σε βάθος τα πιο συνηθισμένα σφάλματα μετατροπής εικόνων που αντιμετωπίζουν οι χρήστες σε Windows, macOS και Linux, εξηγεί γιατί συμβαίνουν και σας δείχνει πώς να τα αποφύγετε πλήρως.
Οι πιο συνηθισμένες μορφές εικόνας (και γιατί δεν «συνεργάζονται» πάντα καλά)
Πριν περάσουμε στα σφάλματα, ας καταλάβουμε ποιες μορφές προκαλούν συνήθως τα περισσότερα προβλήματα:
| Format | Full Name | Compression | Transparency | Typical Use |
|---|---|---|---|---|
| JPG/JPEG | Joint Photographic Experts Group | Απωλεστική | Όχι | Φωτογραφίες, εικόνες για web |
| PNG | Portable Network Graphics | Μη απωλεστική | Ναι | Στιγμιότυπα οθόνης, λογότυπα, γραφικά |
| WebP | Web Picture | Και τα δύο | Ναι | Σύγχρονη βελτιστοποίηση για web |
| HEIC/HEIF | High Efficiency Image Container | Απωλεστική/Μη απωλεστική | Ναι | Φωτογραφίες iPhone/iPad (iOS 11+) |
| AVIF | AV1 Image File Format | Απωλεστική/Μη απωλεστική | Ναι | Μορφή web επόμενης γενιάς |
| SVG | Scalable Vector Graphics | N/A (vector) | Ναι | Εικονίδια, εικονογραφήσεις, λογότυπα |
| TIFF | Tagged Image File Format | Μη απωλεστική | Ναι | Εκτύπωση, σάρωση, αρχειοθέτηση |
| BMP | Bitmap | Καμία | Όχι | Παλιότερη μορφή Windows |
| GIF | Graphics Interchange Format | Μη απωλεστική | 1-bit | Κινούμενα σχέδια, απλά γραφικά |
| EPS | Encapsulated PostScript | N/A (vector) | Όχι | Σχεδίαση για εκτύπωση, επαγγελματικά γραφικά |
| DJVU | DjVu | Απωλεστική | Όχι | Σκαναρισμένα έγγραφα, βιβλία |
Το πρόβλημα; Τα περισσότερα λειτουργικά συστήματα και τα ενσωματωμένα εργαλεία υποστηρίζουν εγγενώς μόνο λίγες από αυτές. Εκεί ακριβώς ξεκινούν τα σφάλματα.
Σφάλμα #1: "Windows Photo Viewer Can't Open This Picture" (HEIC/AVIF/WebP)
Κωδικοί και μηνύματα σφάλματος που μπορεί να δείτε:
"Windows Photo Viewer can't open this picture because either Photo Viewer
doesn't support this file format, or you don't have the latest updates.""It looks like we don't support this file format."
— Microsoft Photos app"0xc00d5212: This item was encoded in a format that's not supported."Γιατί συμβαίνει: Τα Windows 10/11 δεν υποστηρίζουν εγγενώς HEIC (η προεπιλεγμένη μορφή φωτογραφιών iPhone από το iOS 11) ή AVIF. Πρέπει να εγκαταστήσετε τα "HEIF Image Extensions" ($0.99) και "AV1 Video Extensions" από το Microsoft Store. Η υποστήριξη WebP προστέθηκε μόνο στα Windows 10 έκδοση 1809 και νεότερες.
Η προσπάθεια τοπικής διόρθωσης: Εγκατάσταση codec packs, χρήση τρίτων viewers ή δοκιμή εργαλείων γραμμής εντολών όπως το ImageMagick:
magick convert input.heic output.jpgΌμως το ImageMagick απαιτεί εγκατάσταση επιπλέον delegates (libheif, libde265), κάτι που συχνά αποτυγχάνει με:
convert: delegate failed `"dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1911.convert: no decode delegate for this image format `HEIC' @ error/constitute.c/ReadImage/746.Η εύκολη λύση: Ανεβάστε τα αρχεία HEIC, AVIF ή WebP στο GuruPDF και μετατρέψτε τα σε JPG ή PNG με ένα κλικ — χωρίς codecs, χωρίς εγκαταστάσεις, χωρίς σφάλματα.
Σφάλμα #2: "No Decode Delegate" — ImageMagick χωρίς τα απαραίτητα codecs
Πλήρες μήνυμα σφάλματος:
convert: no decode delegate for this image format `WEBP' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `SVG' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `EPS' @ error/constitute.c/ReadImage/746.Γιατί συμβαίνει: Το ImageMagick είναι ένα από τα πιο δημοφιλή εργαλεία εικόνας για γραμμή εντολών, αλλά δεν περιλαμβάνει αποκωδικοποιητές για κάθε μορφή «από το κουτί». Κάθε μορφή απαιτεί μια βιβλιοθήκη "delegate":
- WebP απαιτεί
libwebp - HEIC απαιτεί
libheif+libde265 - AVIF απαιτεί
libavif+dav1d - SVG απαιτεί
librsvgή Inkscape - EPS απαιτεί Ghostscript (
gs) - DJVU απαιτεί
djvulibre
Η εγκατάστασή τους στα Windows είναι ιδιαίτερα δύσκολη — χρειάζεται να κατεβάσετε προ-μεταγλωττισμένα DLLs, να τα βάλετε στον σωστό φάκελο και να ελπίζετε ότι οι εκδόσεις ταιριάζουν.
Σε macOS:
brew install imagemagick --with-librsvg --with-libheif --with-webpΣυχνά αποτυγχάνει με:
Error: invalid option: --with-librsvgΕπειδή το Homebrew άλλαξε τη δομή των formula και αυτές οι επιλογές αφαιρέθηκαν.
Σε Linux (Ubuntu/Debian):
sudo apt install imagemagick libheif-dev libwebp-devΜπορεί να αποτύχει και πάλι επειδή το ImageMagick του συστήματος έχει μεταγλωττιστεί χωρίς το delegate. Θα χρειαστεί μεταγλώττιση από τον πηγαίο κώδικα:
./configure --with-heic=yes --with-webp=yes
make && sudo make installΚάτι που μπορεί να πάρει 10+ λεπτά και να συγκρουστεί με πακέτα του συστήματος.
Σφάλμα #3: "Not a JPEG File: Starts With 0x89" — Λάθος επέκταση αρχείου
Μηνύματα σφάλματος:
Not a JPEG file: starts with 0x89 0x50Corrupt JPEG data: premature end of data segmentlibpng error: Not a PNG fileIHDR: CRC errorΓιατί συμβαίνει: Κάποιος μετονόμασε ένα αρχείο PNG σε .jpg (ή το αντίστροφο). Η επέκταση δεν ταιριάζει με το πραγματικό δυαδικό περιεχόμενο. Τα bytes 0x89 0x50 είναι το PNG magic number (τα πρώτα bytes κάθε αρχείου PNG είναι 89 50 4E 47). Τα αρχεία JPEG ξεκινούν με FF D8 FF.
Αυτό συμβαίνει εκπληκτικά συχνά όταν:
- Κατεβάζετε εικόνες από το web (οι servers μερικές φορές ορίζουν λάθος Content-Type headers)
- Κάνετε μαζική μετονομασία αρχείων χωρίς να τα μετατρέψετε πραγματικά
- Email clients ή εφαρμογές μηνυμάτων αλλάζουν σιωπηρά τις επεκτάσεις
Πώς να εντοπίσετε την πραγματική μορφή:
file mysterious-image.jpg
# Output: mysterious-image.jpg: PNG image data, 1920 x 1080, 8-bit/color RGBAΣε Windows (PowerShell):
Format-Hex -Path .\image.jpg -Count 4
# If you see 89 50 4E 47, it's actually a PNG
# If you see FF D8 FF, it's a real JPEGΤο πλεονέκτημα online: Το GuruPDF ανιχνεύει αυτόματα την πραγματική μορφή αρχείου, ανεξάρτητα από το τι λέει η επέκταση, και το μετατρέπει σωστά.
Σφάλμα #4: Σφάλματα μετατροπής με Python Pillow (PIL)
Συνηθισμένα μηνύματα σφάλματος:
PIL.UnidentifiedImageError: cannot identify image file 'photo.heic'OSError: cannot write mode RGBA as JPEGOSError: cannot write mode P as JPEGPIL.Image.DecompressionBombError: Image size (178956970 pixels) exceeds limit of 89478485 pixelsΓιατί συμβαίνει: Η βιβλιοθήκη Pillow της Python είναι η πιο συνηθισμένη επιλογή για προγραμματιστική μετατροπή εικόνων, αλλά έχει σημαντικούς περιορισμούς:
- Δεν υπάρχει υποστήριξη HEIC χωρίς
pillow-heif(ξεχωριστή εγκατάσταση που απαιτεί βιβλιοθήκες συστήματος) - RGBA σε JPEG αποτυγχάνει γιατί το JPEG δεν υποστηρίζει διαφάνεια — πρέπει πρώτα να γίνει μετατροπή σε RGB
- Palette mode (P) σε JPEG απαιτεί μετατροπή σε RGB
- Μεγάλες εικόνες ενεργοποιούν την προστασία decompression bomb (χαρακτηριστικό ασφαλείας)
Τυπικός κώδικας workaround με τον οποίο πολλοί δυσκολεύονται:
from PIL import Image
img = Image.open("photo.png")
# Handle transparency for JPEG output
if img.mode in ('RGBA', 'LA', 'P'):
background = Image.new('RGB', img.size, (255, 255, 255))
if img.mode == 'P':
img = img.convert('RGBA')
background.paste(img, mask=img.split()[-1])
img = background
img.save("photo.jpg", "JPEG", quality=95)Είναι πολλή «τελετουργία» μόνο και μόνο για να μετατρέψετε μία εικόνα. Και πάλι δεν θα χειριστεί HEIC, AVIF ή WebP χωρίς επιπλέον βιβλιοθήκες.
Σφάλμα #5: macOS Preview "Could Not Be Exported" Errors
Μηνύματα σφάλματος:
"The document 'image.webp' could not be exported as 'image.png'.""The file isn't compatible with QuickLook.""The document could not be opened. The file format is not supported."Γιατί συμβαίνει: Το macOS Preview.app υποστηρίζει ένα αξιοπρεπές εύρος μορφών, αλλά παλαιότερες εκδόσεις macOS (πριν το Ventura) δεν υποστηρίζουν εγγενώς WebP ή AVIF. Ακόμα και σε νεότερες εκδόσεις, η μετατροπή ανάμεσα σε ορισμένους συνδυασμούς μορφών αποτυγχάνει σιωπηρά ή παράγει κατεστραμμένο αποτέλεσμα.
Συνηθισμένα σφάλματα της εντολής macOS sips:
sips -s format jpeg input.webp --out output.jpg
# Error: Unable to render input.webp as JPEG
# Error 4: no such operationsips -s format png input.svg --out output.png
# Error: Unable to render SVGΤο εργαλείο sips (Scriptable Image Processing System) είναι ενσωματωμένο στο macOS, αλλά υποστηρίζει περιορισμένο σύνολο μορφών: JPEG, TIFF, PNG, GIF, BMP και PICT.
Σφάλμα #6: Αποτυχίες μετατροπής εικόνων με FFmpeg
Συνηθισμένα σφάλματα:
[image2 @ 0x...] Could not open file : output.webp
av_interleaved_write_frame(): Invalid argumentAvi/ASF stream 0 is not an image stream. Use -c:v png/mjpeg/... to encode it.[svg @ 0x...] Cannot determine type of input[heic @ 0x...] Unknown decoder 'heic'
Discarding frame which has a bad interlace typeΓιατί συμβαίνει: Το FFmpeg είναι κυρίως εργαλείο βίντεο και, παρότι μπορεί να κάνει μετατροπές εικόνων, απαιτεί συγκεκριμένη υποστήριξη codecs κατά τη μεταγλώττιση. Πολλές εκδόσεις FFmpeg που είναι εγκατεστημένες στο σύστημα δεν έχουν υποστήριξη HEIC/AVIF/WebP.
Σφάλμα #7: Σφάλματα μαζικής επεξεργασίας στο GIMP
Μηνύματα σφάλματος στο Script-Fu console:
Error: ( : 1) eval: unbound variable: file-webp-savebatch command experienced an execution error:
Error: Procedure 'file-heif-load' not found(gimp:12345): LibGfig-WARNING **: Bad path: /home/user/.gimp-2.10/gfigΓιατί συμβαίνει: Το GIMP απαιτεί πρόσθετα για νεότερες μορφές. Το plugin WebP μπορεί να μην είναι εγκατεστημένο, η υποστήριξη HEIF απαιτεί libheif, και η υποστήριξη AVIF απαιτεί GIMP 2.10.22+. Η μαζική επεξεργασία με Script-Fu ή Python-Fu προσθέτει άλλο ένα επίπεδο πολυπλοκότητας.
Σφάλμα #8: "EXIF Data Lost" — Καταστροφή μεταδεδομένων κατά τη μετατροπή
Αυτό δεν είναι μήνυμα σφάλματος — είναι σιωπηλή απώλεια δεδομένων που πολλοί δεν αντιλαμβάνονται μέχρι να είναι αργά.
Τι χάνεται:
- Ρυθμίσεις κάμερας (διάφραγμα, ταχύτητα κλείστρου, ISO)
- Συντεταγμένες GPS (πού τραβήχτηκε η φωτογραφία)
- Ημερομηνία και ώρα λήψης
- Πληροφορίες πνευματικών δικαιωμάτων
- Χρωματικό προφίλ (sRGB, Adobe RGB, ProPhoto RGB)
- Προσανατολισμός (πληροφορία περιστροφής — οδηγεί σε πλάγιες φωτογραφίες)
Εργαλεία που συχνά αφαιρούν EXIF:
- Windows Paint (αφαιρεί τα πάντα)
- Πολλοί online converters (για «ιδιωτικότητα», χωρίς να σας ενημερώνουν)
- ImageMagick (αφαιρεί από προεπιλογή εκτός αν ελέγξετε ρητά με
-strip) - Python Pillow (απαιτεί ρητό χειρισμό EXIF με
exif=img.info.get('exif', b''))
Το πρόβλημα προσανατολισμού είναι ιδιαίτερα ύπουλο:
Warning: JPEG file has EXIF orientation tag but image data is not rotated.
Auto-rotating image based on EXIF orientation.Ορισμένα εργαλεία περιστρέφουν την εικόνα αλλά δεν ενημερώνουν το EXIF tag, οδηγώντας σε διπλή περιστροφή σε κάποιους viewers και σωστή εμφάνιση σε άλλους.
Σφάλμα #9: Ζητήματα χρωματικού χώρου και ICC profile
Μηνύματα σφάλματος:
lcms: not a valid ICC profilecolor profile 'sRGB IEC61966-2.1' is not compatible with 'CMYK'libpng warning: iCCP: known incorrect sRGB profileJCS_CMYK JPEG image passed to JFIF converterΓιατί συμβαίνει: Οι επαγγελματικές εικόνες συχνά χρησιμοποιούν χρωματικούς χώρους CMYK (για εκτύπωση) ή wide-gamut προφίλ (Adobe RGB, ProPhoto RGB). Η μετατροπή τους σε μορφές web (που χρησιμοποιούν sRGB) χωρίς σωστή διαχείριση χρώματος οδηγεί σε ξεθωριασμένα ή υπερκορεσμένα χρώματα.
Τι βλέπετε: Μια εικόνα που φαίνεται τέλεια στην οθόνη σας γίνεται neon-πράσινη ή λασπωμένη-καφέ μετά τη μετατροπή. Ή μια επαγγελματική φωτογραφία χάνει εντελώς τα ζωντανά της χρώματα.
Η τεχνική αιτία: Το CMYK έχει 4 κανάλια χρώματος (Cyan, Magenta, Yellow, Key/Black) ενώ το RGB έχει 3 (Red, Green, Blue). Μια «αφελής» μετατροπή δεν εφαρμόζει τον σωστό χρωματικό μετασχηματισμό, με αποτέλεσμα εντελώς λανθασμένα χρώματα.
Σφάλμα #10: Κρασαρίσματα "File Too Large" ή "Out of Memory"
Μηνύματα σφάλματος:
java.lang.OutOfMemoryError: Java heap spaceTraceback: MemoryErrorFatal error: Allowed memory size of 134217728 bytes exhaustedconvert: cache resources exhausted `input.tiff' @ error/cache.c/OpenPixelCache/3945.convert: width or height exceeds limit `input.tiff' @ error/cache.c/OpenPixelCache/3912.Γιατί συμβαίνει: Ένα TIFF 100 MB στα 300 DPI μπορεί να είναι 8000×6000 pixels. Αποσυμπιεσμένο στη μνήμη, αυτό είναι:
- 8000 × 6000 × 4 bytes (RGBA) = 192 MB RAM για μία μόνο εικόνα
- Η επεξεργασία (resize, μετατροπή μορφής) απαιτεί 2-3× αυτό το ποσό
- Η μαζική μετατροπή 10 τέτοιων εικόνων μπορεί να καταναλώσει 4-6 GB RAM
Οι περισσότερες desktop εφαρμογές και scripts δεν κάνουν stream-processing στις εικόνες — φορτώνουν όλο το αρχείο στη μνήμη με τη μία.
Τα προεπιλεγμένα policy limits του ImageMagick είναι συχνά υπερβολικά περιοριστικά:
# /etc/ImageMagick-6/policy.xml
<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="disk" value="1GiB"/>
<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>Ίσως χρειαστεί να επεξεργαστείτε το policy.xml για να αυξήσετε αυτά τα όρια, αλλά αυτό απαιτεί δικαιώματα διαχειριστή και κατανόηση ρυθμίσεων XML.
Σφάλμα #11: Μετατροπή SVG σε raster — εφιάλτες "Text Rendering"
Συνηθισμένα ζητήματα:
Pango-WARNING **: failed to choose a font, expect ugly outputrsvg-convert: error: Error reading SVG: "Unexpected end of XML input"cairo-WARNING: cairo_surface_destroy: Cannot modify an already-finished surfaceΓιατί συμβαίνει: Τα SVG συχνά αναφέρονται σε γραμματοσειρές που δεν είναι εγκατεστημένες στο σύστημά σας. Όταν γίνεται μετατροπή σε PNG ή JPG, η μηχανή απόδοσης αντικαθιστά με μια προεπιλεγμένη γραμματοσειρά, αλλάζοντας πλήρως την εμφάνιση του κειμένου. Gradients, φίλτρα και ενσωματωμένες εικόνες μέσα σε SVG προσθέτουν ακόμη περισσότερα πιθανά σημεία αποτυχίας.
Παράδειγμα προβλήματος γραμματοσειράς:
Το SVG σας χρησιμοποιεί font-family: "Helvetica Neue", αλλά ο Linux server σας έχει μόνο Liberation Sans. Το αποτέλεσμα φαίνεται ελαφρώς λάθος — διαφορετικό διάστιχο/απόσταση γραμμάτων, διαφορετικά weights, κείμενο που δεν ευθυγραμμίζεται σωστά.
Γιατί η online μετατροπή «απλώς δουλεύει» (όταν τα τοπικά εργαλεία όχι)
Αφού περάσουμε όλα αυτά τα σφάλματα, ίσως αναρωτιέστε: γιατί τα online εργαλεία χειρίζονται αυτές τις μετατροπές τόσο ομαλά;
1. Προρυθμισμένο περιβάλλον: Online εργαλεία όπως το GuruPDF τρέχουν σε servers με κάθε codec, βιβλιοθήκη και delegate προεγκατεστημένα και σωστά ρυθμισμένα. Χωρίς ελλείπον libheif, χωρίς λάθος policy στο ImageMagick, χωρίς απουσία Ghostscript.
2. Αυτόματος εντοπισμός μορφής: Ο server αναγνωρίζει την πραγματική μορφή από το binary header (magic bytes), όχι από την επέκταση. Ένα PNG μεταμφιεσμένο ως .jpg; Κανένα πρόβλημα.
3. Σωστή διαχείριση χρώματος: Τα server-side εργαλεία χειρίζονται σωστά ICC profiles και μετατροπές χρωματικού χώρου, διατηρώντας την οπτική εμφάνιση των εικόνων.
4. Διαχείριση μνήμης: Οι cloud servers έχουν άφθονους πόρους και επεξεργάζονται εικόνες αποδοτικά, χειριζόμενοι μεγάλα TIFF και υψηλής ανάλυσης scans χωρίς να ξεμένουν από μνήμη.
5. Πάντα ενημερωμένα: Η υποστήριξη για νέες μορφές όπως AVIF και HEIC προστίθεται server-side. Δεν χρειάζεται να ενημερώσετε τίποτα στον υπολογιστή σας.
6. Χωρίς πονοκεφάλους εγκατάστασης: Χωρίς περιβάλλοντα Python, χωρίς Homebrew, χωρίς DLL hell, χωρίς επεξεργασία policy.xml, χωρίς μεταγλώττιση από source.
Εργαλεία μετατροπής εικόνων του GuruPDF
Το GuruPDF υποστηρίζει ένα ολοκληρωμένο εύρος μετατροπών μορφών εικόνας, όλα δωρεάν και μέσω browser:
Από φωτογραφίες και εικόνες:
- JPG to PNG, JPG to WebP, JPG to SVG, JPG to PDF, JPG to GIF
- PNG to JPG, PNG to WebP, PNG to SVG, PNG to PDF, PNG to GIF
- HEIC to JPG, HEIC to PNG, HEIC to PDF
- AVIF to JPG, AVIF to PNG, AVIF to PDF
- WebP to JPG, WebP to PNG, WebP to GIF, WebP to PDF
- TIFF to JPG, TIFF to PNG, TIFF to PDF
- BMP to JPG, BMP to PNG, BMP to PDF
- GIF to PNG, GIF to WebP, GIF to PDF
Vector και εξειδικευμένες μορφές:
Εργαλεία βελτιστοποίησης:
- Resize Image (any format)
- Optimize JPG, Optimize PNG, Optimize GIF
- Grayscale PDF
Συμπέρασμα: Σταματήστε να παλεύετε με τον υπολογιστή σας
Αν έχετε περάσει ποτέ 30 λεπτά προσπαθώντας να εγκαταστήσετε libheif στα Windows, ή αναρωτηθήκατε γιατί το CMYK TIFF σας φαίνεται πράσινο μετά τη μετατροπή σε JPG, ή μπερδευτήκατε με ένα σφάλμα "no decode delegate" — δεν είστε μόνοι. Η μετατροπή εικόνων θα έπρεπε να είναι απλή, αλλά τα τοπικά εργαλεία την κάνουν αχρείαστα περίπλοκη.
Την επόμενη φορά που θα χρειαστεί να μετατρέψετε μια εικόνα, δοκιμάστε πρώτα να την ανεβάσετε στο GuruPDF. Χειρίζεται κάθε μορφή, διατηρεί την ποιότητα και λειτουργεί σε οποιονδήποτε browser, σε οποιαδήποτε συσκευή. Χωρίς εγκαταστάσεις, χωρίς κωδικούς σφαλμάτων, χωρίς εκνευρισμό.
Ο χρόνος σας είναι καλύτερα να ξοδεύεται στην πραγματική σας δουλειά, όχι στο debugging των ImageMagick delegates.