Εργαλείο Επιλογής Χρωμάτων - Μετατροπή RGB, Hex, CMYK & HSV Κωδικών Χρωμάτων
Δωρεάν διαδικτυακό εργαλείο επιλογής χρωμάτων με άμεση μετατροπή RGB, Hex, CMYK και HSV. Κάντε κλικ στο φάσμα για να επιλέξετε χρώματα οπτικά ή εισάγετε ακριβείς τιμές. Αντιγράψτε οποιαδήποτε μορφή με ένα κλικ για σχεδιασμό ιστού, εκτύπωση και ψηφιακά έργα.
Επιλογέας Χρωμάτων
RGB (0-255)
CMYK (0-100)
Επιλογέας Χρωμάτων
Τεκμηρίωση
Τι Μπορείτε να Κάνετε με Αυτό το Επιλογέα Χρωμάτων
Χρειάζεστε την τέλεια απόχρωση για το έργο σας; Αυτός ο επιλογέας χρωμάτων σάς επιτρέπει να επιλέγετε, να προεπισκοπείτε και να μετατρέπετε χρώματα μεταξύ RGB, Hex, CMYK και HSV μορφών αμέσως. Είτε κωδικοποιείτε μια ιστοσελίδα, σχεδιάζετε ένα λογότυπο ή προετοιμάζετε αρχεία για εκτύπωση, θα βρείτε τις ακριβείς τιμές χρωμάτων που χρειάζεστε - χωρίς μαντέματα, χωρίς εναλλαγή μεταξύ εργαλείων.
Κάντε κλικ οπουδήποτε στο φάσμα χρωμάτων για να επιλέξετε μια απόχρωση, προσαρμόστε τη φωτεινότητα με ένα ολίσθημα ή εισάγετε ακριβείς τιμές απευθείας. Κάθε μορφή ενημερώνεται σε πραγματικό χρόνο, και μπορείτε να αντιγράψετε οποιονδήποτε κωδικό χρώματος με ένα κλικ.
Κατανόηση Χρωματικών Μοντέλων
Διαφορετικά έργα χρειάζονται διαφορετικές χρωματικές μορφές. Δείτε τι κάνει το καθένα και πότε να το χρησιμοποιήσετε:
RGB (Κόκκινο, Πράσινο, Μπλε)
Το RGB λειτουργεί αναμειγνύοντας κόκκινο, πράσινο και μπλε φως—με τον ίδιο τρόπο που η οθόνη σας εμφανίζει χρώματα αυτή τη στιγμή. Κάθε συστατικό κυμαίνεται από 0 έως 255:
- RGB(255, 0, 0) = καθαρό κόκκινο
- RGB(0, 255, 0) = καθαρό πράσινο
- RGB(0, 0, 255) = καθαρό μπλε
- RGB(255, 255, 255) = λευκό
- RGB(0, 0, 0) = μαύρο
Πότε να χρησιμοποιείτε το RGB: Σε οποιαδήποτε ψηφιακή εργασία—ιστότοποι, εφαρμογές για κινητά, επεξεργασία βίντεο ή γραφικά με βάση την οθόνη. Είναι η εγγενής γλώσσα των οθονών, γι' αυτό εργαλεία όπως το CSS υποστηρίζουν απευθείας τις συναρτήσεις rgb() και rgba(). Σύμφωνα με την προδιαγραφή του W3C CSS Color Module, το RGB είναι το θεμελιώδες χρωματικό μοντέλο για τα πρότυπα του διαδικτύου.
Δεκαεξαδικό (Hex)
Οι κωδικοί Hex είναι απλώς τιμές RGB γραμμένες στο δεκαεξαδικό σύστημα αντί του δεκαδικού. Ένα χρώμα hex μοιάζει με #FF5733, όπου:
- Το σύμβολο
#το σημαδεύει ως κωδικό hex - Πρώτοι δύο χαρακτήρες = κόκκινο (00-FF)
- Μεσαίοι δύο = πράσινο (00-FF)
- Τελευταίοι δύο = μπλε (00-FF)
#FF0000= κόκκινο,#00FF00= πράσινο,#0000FF= μπλε
Μερικές φορές θα δείτε συντόμευση 3 χαρακτήρων όπως #F00 αντί του #FF0000—αυτό λειτουργεί όταν κάθε κανάλι χρώματος επαναλαμβάνει το ίδιο ψηφίο.
Πότε να χρησιμοποιείτε το Hex: Η ανάπτυξη ιστού είναι η κύρια περίπτωση χρήσης. Το CSS πάντα υποστήριζε την δεκαεξαδική σημείωση, και οι περισσότεροι προγραμματιστές βρίσκουν ότι είναι πιο γρήγορο να πληκτρολογήσουν από το rgb(). Μια κοινή παγίδα: να ξεχάσετε το σύμβολο # θα σπάσει τα στυλ σας σιωπηλά, καθώς οι φυλλομετρητές δεν θα το αναγνωρίσουν ως έγκυρο χρώμα.
CMYK (Κυανό, Ματζέντα, Κίτρινο, Κλειδί/Μαύρο)
Το CMYK είναι το χρωματικό μοντέλο που χρησιμοποιούν οι εκτυπωτές. Σε αντίθεση με το RGB (που προσθέτει φως), το CMYK το αφαιρεί—αναμειγνύοντας μελάνια σε λευκό χαρτί για να δημιουργήσει χρώματα:
- Κάθε συστατικό κυμαίνεται από 0% έως 100%
- CMYK(0, 100, 100, 0) = κόκκινο
- CMYK(100, 0, 100, 0) = πράσινο
- CMYK(0, 0, 0, 100) = καθαρό μαύρο μελάνι
- CMYK(0, 0, 0, 0) = καθόλου μελάνι (φαίνεται το λευκό χαρτί)
Πότε να χρησιμοποιείτε το CMYK: Σχεδιάζοντας για εκτύπωση—επαγγελματικές κάρτες, φυλλάδια, περιοδικά, συσκευασίες. Η πραγματικότητα είναι ότι πολλά ζωντανά χρώματα RGB απλά δεν μπορούν να αναπαραχθούν με μελάνια CMYK. Εκείνο το λαμπρό ηλεκτρικό μπλε που βλέπετε στην οθόνη; Θα φαίνεται πιο θαμπό όταν εκτυπωθεί. Οι επαγγελματίες σχεδιαστές πάντα προεπισκοπούν τις μετατροπές CMYK πριν στείλουν αρχεία στον εκτυπωτή για να αποφύγουν εκπλήξεις.
HSV (Απόχρωση, Κορεσμός, Τιμή)
Το HSV διασπά το χρώμα σε τρία διαισθητικά συστατικά:
- Απόχρωση: Ποια οικογένεια χρωμάτων (0-360°)—0° είναι κόκκινο, 120° είναι πράσινο, 240° είναι μπλε
- Κορεσμός: Πόσο ζωντανό ή γκρι (0-100%)—0% είναι κλίμακα του γκρι, 100% είναι πλήρως κορεσμένο
- Τιμή: Πόσο φωτεινό ή σκούρο (0-100%)—0% είναι μαύρο, 100% είναι πλήρης φωτεινότητα
Γιατί το HSV έχει σημασία: Ταιριάζει με τον τρόπο που οι άνθρωποι σκέφτονται φυσικά το χρώμα. Θέλετε ένα πιο σκούρο μπλε; Μειώστε την τιμή. Θέλετε ένα λιγότερο έντονο μπλε; Μειώστε τον κορεσμό. Αυτό κάνει το HSV ιδανικό για διαδραστικές επιλογές χρωμάτων όπως αυτή, όπου επιλέγετε μια απόχρωση στο φάσμα και προσαρμόζετε τη φωτεινότητα με ένα ρυθμιστικό.
Μετατροπή Χρωμάτων
Το εργαλείο επιλογής χρωμάτων μετατρέπει αυτόματα μεταξύ διαφορετικών μοντέλων χρωμάτων χρησιμοποιώντας αυτούς τους μαθηματικούς τύπους:
Μετατροπή RGB σε Hex
Για να μετατρέψετε RGB σε δεκαεξαδικό:
- Μετατρέψτε κάθε συστατικό RGB (0-255) σε δεξαδικό αριθμό δύο ψηφίων
- Συνενώστε τις τρεις δεκαεξαδικές τιμές με πρόθεμα #
Όπου toHex() μετατρέπει έναν δεκαδικό αριθμό στην δεκαεξαδική του αναπαράσταση.
Μετατροπή RGB σε CMYK
Η μετατροπή από RGB σε CMYK περιλαμβάνει αυτά τα βήματα:
- Κανονικοποίηση τιμών RGB στο εύρος 0-1
- Υπολογισμός του συστατικού μαύρου κλειδιού (K)
- Υπολογισμός C, M και Y με βάση το K
Μετατροπή RGB σε HSV
Μετατροπή RGB σε HSV:
Για την Απόχρωση (H):
0° & \text{αν } \Delta = 0 \\ 60° \times (\frac{G' - B'}{\Delta} \mod 6) & \text{αν } C_{max} = R' \\ 60° \times (\frac{B' - R'}{\Delta} + 2) & \text{αν } C_{max} = G' \\ 60° \times (\frac{R' - G'}{\Delta} + 4) & \text{αν } C_{max} = B' \end{cases}$$ Για τον Κορεσμό (S): $$S = \begin{cases} 0 & \text{αν } C_{max} = 0 \\ \frac{\Delta}{C_{max}} \times 100\% & \text{διαφορετικά} \end{cases}$$ Για την Τιμή (V): $$V = C_{max} \times 100\%$$ ## Πώς να Χρησιμοποιήσετε το Επιλογέα Χρωμάτων Τρεις τρόποι εργασίας με χρώματα: κάντε κλικ στο φάσμα, πληκτρολογήστε ακριβείς τιμές ή προσαρμόστε με το ρυθμιστικό. Επιλέξτε όποιον νιώθετε πιο φυσικό για τη ροή εργασίας σας. ### Επιλογή Χρωμάτων Οπτικά Κάντε κλικ οπουδήποτε στο **φάσμα χρωμάτων** για να επιλέξετε μια απόχρωση. Η οριζόντια θέση επιλέγει την απόχρωση (κόκκινο, πράσινο, μπλε κ.λπ.), ενώ η κάθετη θέση ελέγχει τον κορεσμό (ζωντανό έναντι ξεθωριασμένου). Η προεπισκόπηση ενημερώνεται αμέσως ώστε να βλέπετε ακριβώς τι παίρνετε. Σύρετε το **ρυθμιστικό φωτεινότητας** κάτω από το φάσμα για να κάνετε το χρώμα σας πιο ανοιχτό ή πιο σκούρο. Αυτό προσαρμόζει το στοιχείο "τιμή" σε όρους HSV—αριστερά σκουραίνει, δεξιά φωτίζει. ### Εισαγωγή Ακριβών Τιμών Χρώματος Ήδη γνωρίζετε το χρώμα που χρειάζεστε; Πληκτρολογήστε το απευθείας: **Μορφή Hex:** Εισαγάγετε κωδικούς όπως `#FF5733`. Μπορείτε να συμπεριλάβετε ή να παραλείψετε το `#`—το εργαλείο χειρίζεται και τα δύο. Λειτουργεί και με συντομογραφία 3 ψηφίων (`#F37`). **Μορφή RGB:** Πληκτρολογήστε τιμές από 0-255 για κόκκινο, πράσινο και μπλε. Εάν εισαγάγετε κατά λάθος 300, θα περιοριστεί αυτόματα στο 255. **Μορφή CMYK:** Εισαγάγετε ποσοστά (0-100) για κάθε συστατικό μελάνης. Χρήσιμο όταν ταιριάζετε χρώματα από προδιαγραφές σχεδιαστή εκτύπωσης. Κάθε μορφή ενημερώνει τις άλλες σε πραγματικό χρόνο. Αλλάξτε τον κωδικό hex, και RGB/CMYK προσαρμόζονται αυτόματα. ### Αντιγραφή Κωδικών Χρώματος Κάντε κλικ στο κουμπί αντιγραφής (εικονίδιο πρόχειρου) δίπλα σε οποιαδήποτε μορφή χρώματος. Θα δείτε μια γρήγορη επιβεβαίωση "Αντιγράφηκε!", και στη συνέχεια επικολλήστε την τιμή όπου χρειάζεται—αρχεία CSS, λογισμικό σχεδίασης, τεκμηρίωση, οπουδήποτε. **Επαγγελματική συμβουλή:** Όταν εργάζεστε σε πολλαπλά αρχεία ή εφαρμογές, κρατήστε αυτό το εργαλείο ανοιχτό σε καρτέλα προγράμματος περιήγησης. Μπορείτε να ανατρέξετε και να αντιγράψετε τιμές χρωμάτων γρήγορα χωρίς να αλλάζετε περιβάλλον. ## Πραγματικές Περιπτώσεις Χρήσης ### Ανάπτυξη Ιστοσελίδων Δημιουργείτε ένα διακόπτη σκούρου τρόπου και χρειάζεστε παραλλαγές χρωμάτων. Ξεκινήστε με το κύριο χρώμα της επωνυμίας σας σε μορφή hex (π.χ. `#3B82F6`), στη συνέχεια χρησιμοποιήστε το ρυθμιστή φωτεινότητας για να δημιουργήσετε σκουρότερες εκδοχές για φόντα (`#1E3A8A`) και ανοιχτότερες για καταστάσεις αιώρησης (`#60A5FA`). Αντιγράψτε κάθε κωδικό hex απευθείας στις προσαρμοσμένες ιδιότητες CSS. Όταν εργάζεστε με διαφάνεια, πάρτε τις τιμές RGB και χρησιμοποιήστε τις σε συναρτήσεις `rgba()`. Για παράδειγμα, `rgb(59, 130, 246)` γίνεται `rgba(59, 130, 246, 0.8)` για ένα επίθεμα 80% αδιαφάνειας. Κοινό σενάριο: Ένας πελάτης παρέχει ένα σχέδιο Figma με χρώματα καθορισμένα σε RGB, αλλά εσείς προτιμάτε κωδικούς hex στο CSS. Μετατρέψτε τους εδώ αντί να υπολογίζετε χειροκίνητα. ### Γραφιστική για Εκτύπωση Εδώ το CMYK γίνεται κρίσιμο. Έχετε σχεδιάσει μια ζωντανή αφίσα στην οθόνη με χρώματα RGB, αλλά πριν την αποστείλετε στον εκτυπωτή, ελέγξτε τις τιμές CMYK. Το ηλεκτρικό κυανό που επιλέξατε (RGB 0, 255, 255) μετατρέπεται σε CMYK(100, 0, 0, 0)—το οποίο φαίνεται καλό. Αλλά το φωτεινό πράσινο οθόνης (RGB 0, 255, 0) μπορεί να μετατοπιστεί αισθητά κατά την εκτύπωση. Επαγγελματική ροή εργασίας: Εισάγετε τα χρώματα οθόνης σας εδώ, σημειώστε τις μετατροπές CMYK, και στη συνέχεια συγκρίνετε οπτικά στη λειτουργία προεπισκόπησης CMYK του λογισμικού σχεδιασμού σας. Εάν τα χρώματα μετατοπίζονται πολύ, προσαρμόστε τις επιλογές σας πριν οριστικοποιήσετε το σχέδιο. Αυτό αποτρέπει τη συζήτηση "φαινόταν διαφορετικό στην οθόνη μου" με το τυπογραφείο σας. ### Συστήματα Σχεδιασμού UI/UX Η δημιουργία ενός συστήματος σχεδιασμού απαιτεί συνεπείς κλίμακες χρωμάτων. Ξεκινήστε με ένα κύριο χρώμα, στη συνέχεια δημιουργήστε 5-10 παραλλαγές φωτεινότητας για διαφορετικές καταστάσεις UI. Ο ρυθμιστής φωτεινότητας το κάνει αυτό γρήγορα—χωρίς νοητικούς υπολογισμούς. Για προσβασιμότητα, θα χρειαστείτε επαρκή αντίθεση μεταξύ κειμένου και φόντων. Παρόλο που αυτό το εργαλείο δεν υπολογίζει αναλογίες αντίθεσης (θα χρειαστείτε έναν αποκλειστικό [ελεγκτή αντίθεσης WCAG](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html) για αυτό), βοηθά να δοκιμάσετε γρήγορα διαφορετές αποχρώσεις μέχρι να βρείτε συνδυασμούς που λειτουργούν. Πραγματικό σενάριο: Το κύριο κουμπί σας χρησιμοποιεί `#2563EB`, αλλά το κείμενο σε αυτό το φόντο αποτυγχάνει τις απαιτήσεις αντίθεσης. Ανοίξτε το φόντο ή σκουρύνετε το κείμενο—χρησιμοποιήστε την προεπισκόπηση για να δοκιμάσετε επιλογές άμεσα. ### Ψηφιακή Τέχνη και Εικονογράφηση Εργάζεστε σε ψηφιακή ζωγραφική και χρειάζεστε συνεπή χρωματική αρμονία; Επιλέξτε μια βασική απόχρωση στο φάσμα, στη συνέχεια δημιουργήστε παραλλαγές προσαρμόζοντας μόνο τον κορεσμό και τη φωτεινότητα. Αυτό διατηρεί την παλέτα σας συνεκτική χωρίς τυχαίες μεταπηδήσεις χρωμάτων. Πολλοί ψηφιακοί καλλιτέχνες κρατούν ανοιχτό ένα επιλογέα χρωμάτων κατά τη ζωγραφική για να αρπάξουν και να μετατρέψουν γρήγορα αναφορικά χρώματα. Βλέπετε μια τέλεια απόχρωση σκιάς σε μια φωτογραφία αναφοράς; Κάντε κλικ εδώ (εάν έχετε εξαγάγει την τιμή αλλού), πάρτε το RGB και επικολλήστε το στο Photoshop, Procreate ή Krita. ### Εκπαίδευση και Πειραματισμός Χρωμάτων Θέλετε να καταλάβετε πώς σχετίζονται τα χρωματικά μοντέλα; Επιλέξτε οποιοδήποτε χρώμα και παρακολουθήστε πώς αλλάζουν οι τιμές του στα RGB, Hex, CMYK και HSV. Παρατηρήστε ότι το καθαρό κόκκινο (RGB 255, 0, 0) ισούται με `#FF0000`, αλλά το CMYK ισοδύναμό του είναι 0, 100, 100, 0—εντελώς διαφορετικοι αριθμοί που αντιπροσωπεύουν το ίδιο αντιληπτό χρώμα. Αυτή η οπτική ανατροφοδότηση βοηθά τους μαθητές να κατανοήσουν γιατί το RGB χρησιμοποιεί προσθετική ανάμειξη (συνδυασμός φωτός) ενώ το CMYK χρησιμοποιεί αφαιρετική ανάμειξη (συνδυασμός μελανιών). Η διαδραστική φύση καθιστά τις αφηρημένες έννοιες απτές. ## Άλλα Εργαλεία Χρωμάτων που Μπορεί να Χρειαστείτε Αυτό το εργαλείο επικεντρώνεται στην επιλογή και μετατροπή μεμονωμένων χρωμάτων. Ανάλογα με το έργο σας, μπορεί επίσης να χρειαστείτε: **Γεννήτριες παλέτας** (Adobe Color, Coolors) όταν χρειάζεστε πολλά εναρμονισμένα χρώματα με βάση τη θεωρία χρωμάτων - συμπληρωματικά, τριαδικά ή αναλογικά σχήματα. **Επεκτάσεις προγράμματος περιήγησης** (ColorZilla, Eye Dropper) για να εξάγετε χρώματα απευθείας από οποιαδήποτε ιστοσελίδα ή στοιχείο οθόνης. Ιδανικά για αντιστοίχιση υφιστάμενων σχεδίων. **Ελεγκτές αντίθεσης** για εργασίες προσβασιμότητας. Ο [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) ελέγχει εάν οι συνδυασμοί κειμένου/φόντου πληρούν τα πρότυπα WCAG. **Συστήματα Pantone/RAL** για ακριβή αντιστοίχιση χρωμάτων εκτύπωσης σε διαφορετικά τυπογραφεία και υλικά. Αυτά τα φυσικά δείγματα παρέχουν τυποποιημένες αναφορές που τα ψηφιακά εργαλεία δεν μπορούν να αναπαραστήσουν ακριβώς. ## Προσβάσιμα Χρώματα Περίπου το 8% των ανδρών και το 0,5% των γυναικών έχουν κάποια μορφή δυσχρωματοψίας. Δείτε πώς να σχεδιάσετε χωρίς αποκλεισμούς: **Ποτέ μην χρησιμοποιείτε μόνο το χρώμα** για να μεταφέρετε νόημα. Εάν η φόρμα σας δείχνει σφάλματα με κόκκινο, προσθέστε επίσης ένα εικονίδιο ή μια ετικέτα κειμένου. Διαγράμματα με διαφορετικές έγχρωμες γραμμές; Προσθέστε μοτίβα, ετικέτες ή και τα δύο. **Ελέγξτε τις αναλογίες αντίθεσης** χρησιμοποιώντας εργαλεία όπως το [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/). Το κανονικό κείμενο χρειάζεται ελάχιστη αναλογία 4,5:1 έναντι του φόντου του, το μεγάλο κείμενο χρειάζεται 3:1. Σύμφωνα με τις [κατευθυντήριες γραμμές WCAG 2.1](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), αυτό διασφαλίζει την αναγνωσιμότητα για χρήστες με μέτρια χαμηλή όραση. **Αποφύγετε προβληματικούς συνδυασμούς:** Το κόκκινο-πράσινο είναι το πιο κοινό πρόβλημα (η πρωτανωπία και δευτερανωπία επηρεάζουν την αντίληψη του κόκκινου και πράσινου). Το μπλε-κίτρινο προκαλεί προβλήματα σε άτομα με τριτανωπία. Δοκιμάστε τα σχέδιά σας με προσομοιωτές όπως το [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/) για να δείτε πώς εμφανίζονται σε χρήστες με διαφορετικούς τύπους δυσχρωματοψίας. **Χρησιμοποιήστε παλέτες φιλικές προς τα άτομα με δυσχρωματοψία** όταν είναι δυνατόν. Τα μπλε, πορτοκαλί και κίτρινα γενικά λειτουργούν καλά μαζί επειδή είναι διακριτά σε όλους σχεδόν τους τύπους δυσχρωματοψίας. ## Συχνές Ερωτήσεις ### Ποια είναι η διαφορά μεταξύ RGB και CMYK; Το RGB προορίζεται για οθόνες, το CMYK για εκτύπωση. Οι οθόνες δημιουργούν χρώματα εκπέμποντας κόκκινο, πράσινο και μπλε φως (προσθετική ανάμειξη), ενώ οι εκτυπωτές δημιουργούν χρώματα επιστρώνοντας κυανό, ματζέντα, κίτρινο και μαύρο μελάνι στο χαρτί (αφαιρετική ανάμειξη). Το RGB μπορεί να παράγει φωτεινότερα, πιο ζωντανά χρώματα από το CMYK επειδή το φως έχει ευρύτερη χρωματική γκάμα από το μελάνι. Γι' αυτό τα χρώματα της οθόνης σας συχνά φαίνονται πιο θαμπά όταν εκτυπωθούν. ### Γιατί τα χρώματά μου φαίνονται διαφορετικά όταν εκτυπωθούν; Οι οθόνες εκπέμπουν φως, το χαρτί το αντανακλά - πρόκειται για θεμελιωδώς διαφορετικές διαδικασίες. Επιπλέον, το RGB χειρίζεται εκατομμύρια χρώματα που τα μελάνια CMYK απλά δεν μπορούν να αναπαραγάγουν. Η βαθμονόμηση οθόνης, η ποιότητα χαρτιού και οι διακυμάνσεις μελανιού προσθέτουν περισσότερη μεταβλητότητα. Ελέγχετε πάντα τις τιμές CMYK πριν την εκτύπωση και ζητάτε φυσικές δοκιμές για κρίσιμες εργασίες χρωματικής αντιστοίχισης. ### Πώς μπορώ να πάρω δεκαεξαδικούς κωδικούς από χρώματα που βλέπω στο διαδίκτυο; Χρησιμοποιήστε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης. Στο Chrome ή Firefox, κάντε δεξί κλικ σε οποιοδήποτε στοιχείο, επιλέξτε "Επιθεώρηση", και στη συνέχεια κάντε κλικ στο μικρό χρωματικό τετράγωνο στον πίνακα στυλ. Αυτό ανοίγει ένα επιλογέα χρωμάτων που εμφανίζει τον δεκαεξαδικό κωδικό. Επεκτάσεις προγράμματος περιήγησης όπως το ColorZilla το κάνουν ακόμα πιο γρήγορα - σας επιτρέπουν να κάνετε κλικ οπουδήποτε σε μια σελίδα για να πάρετε την τιμή του χρώματος. ### Τι σημαίνει το σύμβολο # στους δεκαεξαδικούς κωδικούς; Είναι απλώς ένα πρόθεμα που λέει στο πρόγραμμα περιήγησης "αυτός είναι ένας δεκαεξαδικός κωδικός χρώματος". Το πρότυπο προέρχεται από τις πρώιμες προδιαγραφές HTML και CSS. Οι έξι χαρακτήρες μετά το `#` αντιπροσωπεύουν τιμές RGB σε βάση 16: δύο ψηφία για το κόκκινο, δύο για το πράσινο, δύο για το μπλε. Χωρίς το `#`, τα προγράμματα περιήγησης δεν θα το αναγνωρίσουν ως χρώμα. ### Γιατί λειτουργούν οι δεκαεξαδικοί κωδικοί 3 ψηφίων; Είναι συντόμευση όταν κάθε κανάλι χρώματος επαναλαμβάνεται. Το `#F00` επεκτείνεται σε `#FF0000` (κόκκινο), το `#C9C` γίνεται `#CC99CC` (ανοιχτό μωβ). Αυτή η συντόμευση δημιουργήθηκε τη δεκαετία του 1990 για να μειώσει το μέγεθος των αρχείων όταν το εύρος ζώνης ήταν ακριβό. Εξακολουθεί να είναι βολική σήμερα για απλά χρώματα. ### Είναι ακριβείς οι μετατροπές χρωμάτων; Οι μετατροπές RGB σε δεκαεξαδικό είναι μαθηματικά ακριβείς - είναι οι ίδιες τιμές σε διαφορετικές αριθμητικές βάσεις. Οι μετατροπές RGB σε CMYK είναι προσεγγίσεις επειδή μετατρέπετε μεταξύ θεμελιωδώς διαφορετικών χρωματικών χώρων (φως έναντι μελανιού). Το εργαλείο χρησιμοποιεί [πρότυπα προφίλ χρωμάτων ICC](http://www.color.org/specification/ICC1v42_2006-05.pdf) για αυτές τις μετατροπές, που είναι η ίδια προσέγγιση που χρησιμοποιούν τα επαγγελματικά προγράμματα σχεδιασμού. ### Πώς δημιουργώ προσβάσιμους χρωματικούς συνδυασμούς; Χρησιμοποιήστε έναν ελεγκτή αντίθεσης όπως το [εργαλείο του WebAIM](https://webaim.org/resources/contrastchecker/) αφού επιλέξετε τα χρώματά σας εδώ. Χρειάζεστε αναλογία 4,5:1 για κανονικό κείμενο, 3:1 για μεγάλο κείμενο. Αποφύγετε συνδυασμούς κόκκινου-πράσινου (πιο δύσκολοι για χρωματικά τυφλούς χρήστες). Όταν έχετε αμφιβολίες, σκουρότερο κείμενο σε ανοιχτότερα φόντα ή το αντίστροφο - η επαρκής διαφορά φωτεινότητας είναι αυτό που έχει τη μεγαλύτερη σημασία. ### Μπορώ να επιλέξω χρώματα από εικόνες; Όχι απευθείας σε αυτό το εργαλείο. Χρησιμοποιήστε μια επέκταση προγράμματος περιήγησης όπως το ColorZilla ή κάντε ένα στιγμιότυπο της εικόνας και χρησιμοποιήστε τον επιλογέα χρωμάτων του λειτουργικού σας συστήματος (Digital Color Meter στο macOS, PowerToys Color Picker στα Windows). Μόλις έχετε την τιμή του χρώματος, εισάγετέ την εδώ για να μετατρέψετε μεταξύ μορφών. ### Γιατί ορισμένα χρώματα RGB δεν μετατρέπονται καλά σε CMYK; Το CMYK έχει στενότερο "gamut" (εύρος αναπαραγώγιμων χρωμάτων) από το RGB. Τα έντονα μπλε, τα ζωντανά πράσινα και τα ηλεκτρικά πορτοκαλί συχνά βρίσκονται εκτός αυτών που τα μελάνια CMYK μπορούν να δημιουργήσουν φυσικά. Όταν συμβαίνει αυτό, ο εκτυπωτής υποκαθιστά την πλησιέστερη δυνατή αντιστοίχιση, η οποία συνήθως φαίνεται λιγότερο κορεσμένη. Οι επαγγελματίες σχεδιαστές εκτύπωσης συχνά ξεκινούν με χρώματα ασφαλή για CMYK για να αποφύγουν αυτό το ζήτημα. ## Παραδείγματα Κώδικα για Μετατροπές Χρωμάτων Ακολουθούν μερικά παραδείγματα κώδικα που δείχνουν πώς να μετατρέψετε μεταξύ διαφορετικών μορφών χρωμάτων:1// Μετατροπή RGB σε Hex
2function rgbToHex(r, g, b) {
3 const toHex = (c) => {
4 const hex = Math.round(c).toString(16);
5 return hex.length === 1 ? '0' + hex : hex;
6 };
7
8 return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
9}
10
11// Μετατροπή Hex σε RGB
12function hexToRgb(hex) {
13 // Αφαίρεση # εάν υπάρχει
14 const cleanHex = hex.startsWith('#') ? hex.slice(1) : hex;
15
16 // Χειρισμός hex 3 και 6 ψηφίων
17 const expandedHex = cleanHex.length === 3
18 ? cleanHex.split('').map(char => char + char).join('')
19 : cleanHex;
20
21 const r = parseInt(expandedHex.substring(0, 2), 16);
22 const g = parseInt(expandedHex.substring(2, 4), 16);
23 const b = parseInt(expandedHex.substring(4, 6), 16);
24
25 return { r, g, b };
26}
27
28// Μετατροπή RGB σε CMYK
29function rgbToCmyk(r, g, b) {
30 // Κανονικοποίηση τιμών RGB
31 const normalizedR = r / 255;
32 const normalizedG = g / 255;
33 const normalizedB = b / 255;
34
35 // Υπολογισμός K (μαύρο)
36 const k = 1 - Math.max(normalizedR, normalizedG, normalizedB);
37
38 // Χειρισμός καθαρού μαύρου
39 if (k === 1) {
40 return { c: 0, m: 0, y: 0, k: 100 };
41 }
42
43 // Υπολογισμός C, M, Y
44 const c = ((1 - normalizedR - k) / (1 - k)) * 100;
45 const m = ((1 - normalizedG - k) / (1 - k)) * 100;
46 const y = ((1 - normalizedB - k) / (1 - k)) * 100;
47
48 return {
49 c: Math.round(c),
50 m: Math.round(m),
51 y: Math.round(y),
52 k: Math.round(k * 100)
53 };
54}
55
56// Παράδειγμα χρήσης
57const rgb = { r: 255, g: 0, b: 0 }; // Καθαρό κόκκινο
58console.log(`Hex: ${rgbToHex(rgb.r, rgb.g, rgb.b)}`);
59console.log(`CMYK:`, rgbToCmyk(rgb.r, rgb.g, rgb.b));
601# Μετατροπή RGB σε Hex
2def rgb_to_hex(r, g, b):
3 return f'#{r:02x}{g:02x}{b:02x}'
4
5# Μετατροπή Hex σε RGB
6def hex_to_rgb(hex_color):
7 # Αφαίρεση # εάν υπάρχει
8 hex_color = hex_color.lstrip('#')
9
10 # Χειρισμός hex 3 και 6 ψηφίων
11 if len(hex_color) == 3:
12 hex_color = ''.join([c*2 for c in hex_color])
13
14 return {
15 'r': int(hex_color[0:2], 16),
16 'g': int(hex_color[2:4], 16),
17 'b': int(hex_color[4:6], 16)
18 }
19
20# Μετατροπή RGB σε CMYK
21def rgb_to_cmyk(r, g, b):
22 # Κανονικοποίηση τιμών RGB
23 r_norm = r / 255
24 g_norm = g / 255
25 b_norm = b / 255
26
27 # Υπολογισμός K (μαύρο)
28 k = 1 - max(r_norm, g_norm, b_norm)
29
30 # Χειρισμός καθαρού μαύρου
31 if k == 1:
32 return {'c': 0, 'm': 0, 'y': 0, 'k': 100}
33
34 # Υπολογισμός C, M, Y
35 c = ((1 - r_norm - k) / (1 - k)) * 100
36 m = ((1 - g_norm - k) / (1 - k)) * 100
37 y = ((1 - b_norm - k) / (1 - k)) * 100
38
39 return {
40 'c': round(c),
41 'm': round(m),
42 'y': round(y),
43 'k': round(k * 100)
44 }
45
46# Παράδειγμα χρήσης
47rgb = {'r': 0, 'g': 128, 'b': 255} # Ουρανός μπλε
48hex_color = rgb_to_hex(rgb['r'], rgb['g'], rgb['b'])
49cmyk = rgb_to_cmyk(rgb['r'], rgb['g'], rgb['b'])
50
51print(f"Hex: {hex_color}")
52print(f"CMYK: C={cmyk['c']}%, M={cmyk['m']}%, Y={cmyk['y']}%, K={cmyk['k']}%")
531public class ColorConverter {
2 // Μετατροπή RGB σε Hex
3 public static String rgbToHex(int r, int g, int b) {
4 return String.format("#%02x%02x%02x", r, g, b);
5 }
6
7 // Μετατροπή Hex σε RGB
8 public static int[] hexToRgb(String hexColor) {
9 // Αφαίρεση # εάν υπάρχει
10 if (hexColor.startsWith("#")) {
11 hexColor = hexColor.substring(1);
12 }
13
14 // Χειρισμός hex 3 και 6 ψηφίων
15 if (hexColor.length() == 3) {
16 String expandedHex = "";
17 for (char c : hexColor.toCharArray()) {
18 expandedHex += c + String.valueOf(c);
19 }
20 hexColor = expandedHex;
21 }
22
23 int r = Integer.parseInt(hexColor.substring(0, 2), 16);
24 int g = Integer.parseInt(hexColor.substring(2, 4), 16);
25 int b = Integer.parseInt(hexColor.substring(4, 6), 16);
26
27 return new int[]{r, g, b};
28 }
29
30 // Μετατροπή RGB σε CMYK
31 public static double[] rgbToCmyk(int r, int g, int b) {
32 // Κανονικοποίηση τιμών RGB
33 double normalizedR = r / 255.0;
34 double normalizedG = g / 255.0;
35 double normalizedB = b / 255.0;
36
37 // Υπολογισμός K (μαύρο)
38 double k = 1 - Math.max(Math.max(normalizedR, normalizedG), normalizedB);
39
40 // Χειρισμός καθαρού μαύρου
41 if (k == 1) {
42 return new double[]{0, 0, 0, 100};
43 }
44
45 // Υπολογισμός C, M, Y
46 double c = ((1 - normalizedR - k) / (1 - k)) * 100;
47 double m = ((1 - normalizedG - k) / (1 - k)) * 100;
48 double y = ((1 - normalizedB - k) / (1 - k)) * 100;
49
50 return new double[]{
51 Math.round(c),
52 Math.round(m),
53 Math.round(y),
54 Math.round(k * 100)
55 };
56 }
57
58 public static void main(String[] args) {
59 // Παράδειγμα χρήσης
60 int r = 75, g = 0, b = 130; // Μωβ
61 String hexColor = rgbToHex(r, g, b);
62 double[] cmyk = rgbToCmyk(r, g, b);
63
64 System.out.println("Hex: " + hexColor);
65 System.out.printf("CMYK: C=%.0f%%, M=%.0f%%, Y=%.0f%%, K=%.0f%%\n",
66 cmyk[0], cmyk[1], cmyk[2], cmyk[3]);
67 }
68}
69Αναφορές και Περαιτέρω Ανάγνωση
- Ενότητα Χρωμάτων CSS του W3C Επίπεδο 4 - Επίσημη προδιαγραφή χρωμάτων ιστού
- Κατευθυντήριες Γραμμές Αντίθεσης WCAG 2.1 - Πρότυπα προσβασιμότητας για την αντίθεση χρωμάτων
- Έλεγχος Αντίθεσης WebAIM - Δοκιμή αναλογιών αντίθεσης χρωμάτων
- Πρότυπα Χρωματικού Προφίλ ICC - Τεχνική προδιαγραφή για μετατροπές χρωμάτων
- MDN Web Docs: Τιμές Χρωμάτων CSS - Περεκτική οδηγός για μορφές χρωμάτων ιστού