Μετατροπέας Μορφής Εικόνας
Επιλέξτε μια εικόνα, επιλέξτε μορφή εξόδου και προσαρμόστε την ποιότητα για JPEG ή WebP. Όλα γίνονται στη συσκευή σας — το αρχείο δεν ανεβαίνει ποτέ πουθενά.
Το PNG είναι πάντα χωρίς απώλειες — η ποιότητα δεν ισχύει εδώ.
Μετατρέψτε εικόνες χωρίς να χάσετε τον έλεγχο ποιότητας ή μεγέθους
Η μετατροπή γίνεται σχεδιάζοντας την εικόνα σας σε ένα <canvas> στη μνήμη και επανακωδικοποιώντας την
με canvas.toBlob(callback, mimeType, quality) — τον
δικό του κωδικοποιητή εικόνας του προγράμματος περιήγησης, που
εκτελείται τοπικά, χωρίς κανέναν διακομιστή να εμπλέκεται:
canvas.toBlob(
(blob) => { /* λήψη του blob, σύγκριση blob.size με το πρωτότυπο */ },
"image/jpeg", // ή "image/png" / "image/webp"
0.8, // ποιότητα, αγνοείται για PNG
); Η έξοδος PNG είναι πάντα χωρίς απώλειες, οπότε το ρυθμιστικό ποιότητας είναι απενεργοποιημένο γι' αυτήν, ενώ τα JPEG και WebP χρησιμοποιούν την τιμή ποιότητας που επιλέγετε, ανταλλάσσοντας λεπτομέρεια για μικρότερο αρχείο. Το JPEG δεν έχει κανάλι διαφάνειας, οπότε η μετατροπή μιας διαφανούς εικόνας σε JPEG γεμίζει τις διαφανείς περιοχές με λευκό πριν την κωδικοποίηση — η εναλλακτική, να αφήσουμε το canvas ως έχει, θα μετέτρεπε σιωπηλά τη διαφάνεια σε μαύρο στα περισσότερα προγράμματα περιήγησης.
Τι να περιμένετε
Η ακριβής εξοικονόμηση εξαρτάται εξ ολοκλήρου από το περιεχόμενο της εικόνας — ένα γραφικό με επίπεδα χρώματα ή ένα στιγμιότυπο οθόνης με πολλά επαναλαμβανόμενα pixel συμπιέζεται πολύ περισσότερο από μια λεπτομερή φωτογραφία. Ως χονδρική εικόνα, ένα στιγμιότυπο PNG 2,4 MB που μετατρέπεται σε JPEG με ποιότητα 80% συνήθως καταλήγει κάπου στα 200–400 KB· η ίδια εικόνα στο 40% ποιότητας βγαίνει ακόμα μικρότερη, με ορατό κόστος στην ευκρίνεια. Αυτό το εργαλείο εμφανίζει το αρχικό και το μετατραπέν μέγεθος δίπλα-δίπλα μετά από κάθε μετατροπή, ώστε να κρίνετε το πραγματικό αποτέλεσμα στη δική σας εικόνα αντί να εμπιστεύεστε έναν γενικό αριθμό.
Συχνές ερωτήσεις
Ποια μορφή πρέπει να επιλέξω — PNG, JPEG ή WebP;
Το PNG είναι χωρίς απώλειες και υποστηρίζει διαφάνεια, οπότε είναι η σωστή επιλογή για στιγμιότυπα οθόνης, λογότυπα και γραφικά με ευκρινείς γραμμές ή κείμενο — αλλά παράγει μεγαλύτερα αρχεία για φωτογραφίες. Το JPEG έχει απώλειες και δεν υποστηρίζει διαφάνεια, αλλά συμπιέζει τις φωτογραφίες πολύ πιο αποτελεσματικά, γι' αυτό παραμένει η προεπιλεγμένη μορφή για φωτογραφίες. Το WebP έχει επίσης απώλειες εδώ, συνήθως ξεπερνά το JPEG στην ίδια οπτική ποιότητα, και υποστηρίζεται από κάθε σύγχρονο πρόγραμμα περιήγησης — αλλά πολύ παλιά προγράμματα περιήγησης δεν μπορούν να το κωδικοποιήσουν ή να το εμφανίσουν, γι' αυτό το JPEG παραμένει διαθέσιμο ως ασφαλής εναλλακτική.
Γιατί είναι απενεργοποιημένο το ρυθμιστικό ποιότητας όταν επιλέγω PNG;
Η συμπίεση PNG είναι πάντα χωρίς απώλειες — μειώνει το αρχείο βρίσκοντας πλεονασμό στα δεδομένα των pixel, χωρίς ποτέ να απορρίπτει λεπτομέρειες, οπότε δεν υπάρχει κανένα ρυθμιστικό ποιότητας που να κάνει κάτι. Το ρυθμιστικό επηρεάζει μόνο τα JPEG και WebP, τα οποία ανταλλάσσουν λεπτομέρεια εικόνας για μικρότερο αρχείο ανάλογα με το επίπεδο που επιλέγετε, γι' αυτό είναι ενεργό μόνο για αυτές τις δύο μορφές.
Η μετατροπή ενός διαφανούς PNG σε JPEG καταστρέφει τη διαφάνεια;
Ναι — και αυτό το εργαλείο το δηλώνει ξεκάθαρα αντί να σας αφήνει με μαύρο φόντο. Το JPEG δεν έχει καθόλου κανάλι άλφα, οπότε πριν σχεδιάσουμε την εικόνα σας στο canvas για έξοδο JPEG, γεμίζουμε πρώτα το canvas με λευκό. Οι διαφανείς περιοχές γίνονται συμπαγές λευκό στο αποτέλεσμα, κάτι που είναι η τυπική σύμβαση, αλλά η ίδια η διαφάνεια πραγματικά χάνεται σε αυτή τη μορφή — επιλέξτε έξοδο PNG ή WebP αν χρειάζεστε να τη διατηρήσετε.
Τι συμβαίνει αν το πρόγραμμα περιήγησής μου δεν μπορεί να κωδικοποιήσει WebP;
Η canvas.toBlob() επιτρέπεται να επιστρέψει μηδενικό (null) αποτέλεσμα όταν το πρόγραμμα περιήγησης δεν έχει κωδικοποιητή για τη ζητούμενη μορφή, κάτι που στην πράξη συμβαίνει μόνο με το WebP σε πολύ παλιά προγράμματα περιήγησης. Αντί να αποτύχει σιωπηλά ή να σας δώσει έναν χαλασμένο σύνδεσμο λήψης, αυτό το εργαλείο εντοπίζει αυτό το μηδενικό αποτέλεσμα και εμφανίζει ένα σαφές μήνυμα που σας προτρέπει να δοκιμάσετε ένα σύγχρονο πρόγραμμα περιήγησης ή να επιλέξετε PNG ή JPEG.
Ανεβαίνει η εικόνα μου κάπου;
Όχι. Το αρχείο διαβάζεται τοπικά, σχεδιάζεται σε ένα canvas στη μνήμη και επανακωδικοποιείται με canvas.toBlob() — όλα μέσα στο πρόγραμμα περιήγησής σας. Τίποτα δεν αποστέλλεται ποτέ σε διακομιστή, δεν καταγράφεται ούτε αποθηκεύεται, κάτι που ισχύει για κάθε εργαλείο σε αυτόν τον ιστότοπο.