PixelHub Γρήγορα εργαλεία εικόνας, χωρίς εγγραφή ή όρια μεταφόρτωσης

Δημιουργός Meme

Επιλέξτε μια εικόνα, γράψτε μια λεζάντα πάνω και μία κάτω, και κατεβάστε το έτοιμο meme. Οι λεζάντες γίνονται αυτόματα κεφαλαία, κεντράρονται και προσαρμόζουν το μέγεθός τους — το κλασικό λευκό κείμενο με μαύρο περίγραμμα, ακριβώς όπως τα πρωτότυπα.

Επιλέξτε ένα JPG, PNG ή WebP για να ξεκινήσετε — τίποτα δεν ανεβαίνει, ανοίγει κατευθείαν στον παρακάτω επεξεργαστή.

Προσθέστε κείμενο σε οποιαδήποτε εικόνα χωρίς να την ανεβάσετε πουθενά

Αυτό το εργαλείο φορτώνει την εικόνα σας σε ένα <img>, διαβάζει τις πραγματικές διαστάσεις της σε pixel από τα naturalWidth/ naturalHeight, και προσαρμόζει έναν <canvas> ακριβώς σε αυτό το μέγεθος — έτσι το meme που κατεβάζετε έχει την ίδια ανάλυση με την αρχική σας φωτογραφία, χωρίς τέντωμα ή επαναδειγματοληψία. Κάθε λεζάντα σχεδιάζεται με ctx.strokeText() σε μαύρο πριν από το ctx.fillText() σε λευκό, κάτι που είναι ακριβώς αυτό που παράγει το κλασικό χοντρό μαύρο περίγραμμα γύρω από τα λευκά γράμματα: το περίγραμμα σχεδιάζεται πρώτο και το γέμισμα κάθεται από πάνω, όχι το αντίστροφο.

Παράδειγμα εφαρμογής

Πληκτρολογήστε "κανεις δεν μπαινει απλα" στο πάνω πεδίο και σχεδιάζεται ως ΚΑΝΕΙΣ ΔΕΝ ΜΠΑΙΝΕΙ ΑΠΛΑ — μεγάλο, κεντραρισμένο και άνετα μέσα στο πλάτος της εικόνας, επειδή μια σύντομη λεζάντα χωράει στο αρχικό μέγεθος με την πρώτη προσπάθεια. Τώρα δοκιμάστε κάτι πολύ πιο μεγάλο, όπως "κανεις δεν μπαινει απλα στη μορντορ χωρις πολυ σχεδιασμο και σνακ" . Στο ίδιο αρχικό μέγεθος αυτή η λεζάντα θα ξεχείλιζε και από τις δύο πλευρές του καμβά, οπότε το εργαλείο τη μετρά με ctx.measureText(), διαπιστώνει ότι είναι πολύ πλατιά, και μειώνει το μέγεθος γραμματοσειράς — ξαναμετρώντας σε κάθε βήμα — μέχρι το κείμενο να χωρέσει σε μία γραμμή ή να αναδιπλωθεί σε δεύτερη ή τρίτη γραμμή σε ένα μέγεθος που παραμένει ευανάγνωστο. Δεν βλέπετε ποτέ το ξεχείλισμα· η λεζάντα απλώς φτάνει μικρότερη και πιθανώς χωρισμένη σε περισσότερες γραμμές αντί να βγαίνει από τις άκρες.

Συχνές ερωτήσεις

Ανεβαίνει η εικόνα μου κάπου σε server;

Όχι. Το αρχείο αποκωδικοποιείται τοπικά και σχεδιάζεται σε ένα στοιχείο <canvas> μέσα στη σελίδα με το Canvas API του περιηγητή, οι λεζάντες σχεδιάζονται απευθείας πάνω σε αυτόν τον καμβά, και το canvas.toBlob() δημιουργεί το PNG προς λήψη — όλα στη συσκευή σας. Τίποτα δεν αποστέλλεται ποτέ σε server.

Γιατί η λεζάντα μου γίνεται αυτόματα ΚΕΦΑΛΑΙΑ;

Είναι η κλασική σύμβαση των meme: έντονο, κεφαλαίο κείμενο σε μια συμπαγή γραμματοσειρά όπως η Impact είναι αυτό που κάνει τις λεζάντες πάνω/κάτω άμεσα ευανάγνωστες πάνω σε μια φορτωμένη εικόνα, και είναι το στυλ που χρησιμοποιεί σχεδόν κάθε πρότυπο. Αυτό το εργαλείο μετατρέπει και τα δύο πεδία σε κεφαλαία αυτόματα, οπότε δεν χρειάζεται να κρατάτε πατημένο το Caps Lock — πληκτρολογήστε κανονικά και μετατρέπεται για εσάς.

Γιατί η γραμματοσειρά της λεζάντας μου βγήκε μικρότερη απ' όσο περίμενα;

Αυτόματη προσαρμογή. Πριν το σχέδιο, το εργαλείο μετρά τη λεζάντα σας με ctx.measureText σε ένα μεγάλο αρχικό μέγεθος, και αν είναι πιο πλατιά από την εικόνα (ή χρειάζεται πάνω από τρεις γραμμές), μειώνει το μέγεθος γραμματοσειράς βήμα-βήμα και ξαναμετρά μέχρι το κείμενο να χωρέσει άνετα στο πλάτος του καμβά — ή να αναδιπλωθεί σε δεύτερη ή τρίτη γραμμή αν ακόμα δεν χωράει ούτε στο λογικό ελάχιστο μέγεθος. Οι σύντομες λεζάντες παραμένουν μεγάλες και έντονες· οι μεγάλες συρρικνώνονται αυτόματα αντί να ξεχειλίζουν από τις άκρες.

Τι αρχείο παίρνω όταν κατεβάζω;

Ένα PNG με τις ίδιες διαστάσεις σε pixel με την αρχική σας εικόνα (το φυσικό πλάτος και ύψος που είχε), που δημιουργείται με το canvas.toBlob(). Επειδή είναι πλήρης επανασχεδίαση του καμβά, οι λεζάντες ενσωματώνονται μόνιμα στα pixel — δεν υπάρχει τίποτα άλλο για επεξεργασία μετά τη λήψη, ακριβώς όπως ένα πραγματικό meme.