Czym jest konwersja CMYK na RGB?
CMYK i RGB to dwa fundamentalnie różne modele opisu barwy, oparte na odmiennych fizycznych procesach powstawania koloru. CMYK (cyjan, magenta, żółty, czarny – ang. key) jest modelem subtraktywnym (odejmującym). Działa na zasadzie pochłaniania światła przez pigmenty nałożone na biały nośnik, najczęściej papier. Cyan pochłania czerwień, magenta zieleń, żółty błękit, a czerń służy do pogłębienia cieni i oszczędności farb. Każdy z czterech kanałów wyraża się liczbowo w procentach od 0 do 100, gdzie 0 oznacza brak farby, a 100 jej pełne nasycenie na danej powierzchni.
Model RGB (czerwień, zieleń, błękit) jest modelem addytywnym (dodającym). Barwa powstaje przez emitowanie światła przez źródła – diody wyświetlaczy, lampy projektorów, piksele monitorów. Trzy kanały przyjmują wartości od 0 do 255, gdzie 0 oznacza całkowity brak emisji (czerń), a 255 maksymalne natężenie danej składowej. Składając je w różnych proporcjach otrzymujemy wszystkie barwy widzialne dla ludzkiego oka w zakresie emisyjnym.
Konwersja z CMYK na RGB wymaga przeliczenia czterech wartości procentowych na trzy liczby całkowite. Podstawowy algorytm wygląda następująco:
- Skalujemy procenty do zakresu 0–1:
c = C/100,m = M/100,y = Y/100,k = K/100. - Obliczamy składowe RGB w skali 0–1:
r = 1 - min(1, c + k)g = 1 - min(1, m + k)b = 1 - min(1, y + k)
- Mnożymy przez 255 i zaokrąglamy do liczb całkowitych.
Dla przykładu: CMYK = 66%, 69%, 0%, 10% daje c=0.66, m=0.69, y=0.0, k=0.10. Wtedy r = 1 - min(1, 0.76) = 0.24, g = 1 - min(1, 0.79) = 0.21, b = 1 - min(1, 0.10) = 0.90. Po pomnożeniu przez 255 otrzymujemy RGB(61, 54, 230). To jednak dopiero punkt wyjścia – żadne proste przekształcenie arytmetyczne nie oddaje w pełni złożoności relacji między farbą a światłem.
Dlaczego konwersja CMYK–RGB jest zawsze przybliżeniem
Główna przyczyna leży w fizyce: CMYK opisuje kolor przez absorpcję światła odbitego od podłoża, RGB opisuje kolor przez emisję światła prosto w oko obserwatora. Jeden proces odejmuje, drugi dodaje. To nie są dwie strony tej samej monety, to dwa różne systemy walutowe – można je przeliczać, ale nigdy bez straty.
Kluczową konsekwencją jest różnica w gamucie, czyli zakresie barw możliwych do uzyskania w danym modelu. RGB ma gamut znacznie szerszy niż CMYK – szczególnie w obszarach intensywnie nasyconych barw: jaskrawych zieleni, turkusów, purpur. Wiele kolorów, które bez problemu wyświetli monitor, jest po prostu niemożliwych do odtworzenia farbą na papierze. Gdy konwertujemy CMYK na RGB, trafiamy do gamutu emisyjnego, ale gdy robimy odwrotnie – część danych zostaje bezpowrotnie utracona.
Dodatkową komplikacją jest brak uwzględnienia profilu ICC. Profil ICC to szczegółowa charakterystyka kolorystyczna konkretnego urządzenia lub procesu: określa, jak dana drukarka nakłada farby na dany papier, lub jak dany monitor emituje światło. Bez niego konwersja jest tylko matematycznym oszacowaniem, a nie rzeczywistą symulacją. Narzędzia na tej stronie nie korzystają z żadnego profilu ICC – wynik jest punktem wyjścia dla prac poligraficznych, a nie gotowcem. Żywe barwy widoczne na ekranie prawie nigdy nie dadzą się wiernie przenieść na wydruk.
W praktyce oznacza to, że ten sam zestaw CMYK da inny wygląd na błyszczącym papierze kredowym, na matowym papierze offsetowym i na monitorze – każda kombinacja papieru i farby ma swoją charakterystykę odbicia. Dlatego każda konwersja bez profilu jest nieodwracalnie przybliżona.
Jak działa narzędzie na tej stronie
Narzędzie przyjmuje cztery wartości procentowe dla cyjanu, magenty, żółci i czerni – każda w zakresie 0–100. Wpisujesz je w pola formularza, a konwersja odbywa się natychmiast podczas edycji. Wynik widzisz w sześciu formatach:
| Format | Zakres wartości |
|---|---|
| HEX | Sześciocyfrowy kod szesnastkowy, np. #3D36E6 |
| RGB | Trzy liczby 0–255 |
| HSL | Barwa (0–360) + nasycenie i jasność (0–100%) |
| HSV | Barwa (0–360) + nasycenie i wartość (0–100%) |
| CMYK | Cztery procenty 0–100 (wynikowy, po ewentualnej korekcie) |
| LAB | L* (0–100), a* i b* (ok. –128 do 127) |
Wszystkie pola edycyjne są dwukierunkowo powiązane – zmiana w dowolnym z nich natychmiast aktualizuje pozostałe. Możesz więc sprawdzić, jak dany RGB wygląda w CMYK, a potem skorygować i zobaczyć efekt w LAB.
Jeśli wprowadzisz nieprawidłowe dane w polu CMYK – na przykład ujemne wartości, liczby powyżej 100, brak jednej z czterech składowych, użycie przecinka zamiast kropki lub ogólnie niezgodny format – narzędzie wyświetli komunikat błędu: "Enter CMYK as four percentages 0–100, like 66%, 69%, 0%, 10%.". Podobne reguły obowiązują dla innych pól (np. RGB wymaga trzech liczb 0–255).
Całe przetwarzanie odbywa się bezpośrednio w przeglądarce. Żadne wprowadzone dane nie są wysyłane na serwer, nie są przechowywane ani logowane. Możesz pracować nawet w trybie offline, o ile strona jest już załadowana.
Co oznacza „poza gamutem” i jak narzędzie sobie z tym radzi
Ponieważ gamut RGB jest szerszy od gamutu CMYK, zwykła konwersja CMYK→RGB rzadko wychodzi poza zakres 0–255. Problem pojawia się w drugą stronę – RGB o dużej nasyconości może po konwersji na CMYK dać ujemne wartości farby, co jest fizycznie niemożliwe. Jednak zdarzają się też sytuacje, gdy pewne kombinacje CMYK w standardowym algorytmie produkują RGB wykraczające poza zakres 0–255, np. obliczone r staje się mniejsze od 0 lub większe od 1 przed skalowaniem.
Narzędzie na tej stronie stosuje wtedy obcięcie do najbliższej wyświetlalnej barwy. Jeśli obliczona składowa jest poniżej 0, zostaje ustawiona na 0; jeśli powyżej 255, na 255. To standardowe podejście zapewniające, że wynik zawsze będzie poprawnym kolorem RGB, który można wyświetlić. Kosztem jest utrata oryginalnego odwzorowania – kolor zostaje „ściśnięty” do granicy gamutu.
Konsekwencja jest istotna: jeśli taki przycięty RGB skonwertujesz z powrotem na CMYK, otrzymasz inną wartość niż oryginał. Na przykład głęboki fiolet farbowy o dużej domieszce cyjanu może po konwersji dać RGB z niebieską składową >=255, a po powrocie do CMYK cyjan spadnie, bo nie da się wyemitować więcej błękitu niż 255. Przesunięcie jest zazwyczaj niewielkie, ale świadomość tej asymetrii jest kluczowa przy precyzyjnych pracach projektowych.
Dodatkowo CMYK wyświetlany na stronie jako wynik konwersji z RGB jest oszacowaniem ekranowym i może się różnić od wartości stosowanych w profesjonalnym druku. Różnice wynikają z parametrów papieru, atramentu i profili drukarki, których narzędzie nie zna. To kolejne przypomnienie, że ekranowa symulacja farby nie zastąpi próbnego wydruku.
Praktyczne zastosowania i pułapki w codziennej pracy
Narzędzie przydaje się w kilku konkretnych sytuacjach:
- Projektanci graficzni – chcą zobaczyć, jak kolor z palety CMYK (np. z broszury, wizytówki, opakowania) będzie wyglądał na ekranie, zanim zostanie osadzony w pliku cyfrowym.
- Front‑end developerzy – otrzymują od klienta wartości CMYK z księgi znaku i muszą je zamienić na
#hexlubrgb()dla CSS. Nawet jeśli wierne odwzorowanie wymaga profilu, wynik z narzędzia jest dobrym punktem startowym do dalszych korekt. - Pracownicy studiów poligraficznych – szybko sprawdzają, czy kolory z projektu cyfrowego mieszczą się w zakresie możliwym do uzyskania na maszynie drukarskiej.
Najczęstsze błędy, które popełniają użytkownicy:
- Założenie odwracalności – pobranie RGB z konwersji CMYK i wstawienie go z powrotem, spodziewając się tych samych procentów. Jak wyjaśniono wyżej, przycięcia do gamutu i brak profilu powodują przesunięcia.
- Ignorowanie różnicy w gamucie – wybranie jaskrawego RGB (np.
#00FF00) i konwersja na CMYK może dać cyjan około 60% i żółć 100%, ale wyświetlenie tych wartości na ekranie i tak nie odda tej samej intensywności – druk offsetowy nie jest w stanie osiągnąć takiej zieleni. - Traktowanie wyniku jako gotowego do druku – wartości CMYK z konwersji RGB są tylko szacunkiem. Przed wydrukiem należy skonsultować się z drukarnią i użyć dedykowanego profilu ICC dla konkretnej kombinacji maszyny i papieru.
- Brak uwzględnienia kontrastu i dostępności – przeliczenie kolorów z broszury na stronę WWW to nie tylko konwersja, ale też sprawdzenie kontrastu względem tła. Dwa kolory, które na papierze wyglądają dobrze, mogą na ekranie dawać zbyt mały kontrast dla osób z dysfunkcjami wzroku.
Profilowanie ICC i kiedy warto je zastosować
Profil ICC (International Color Consortium) to zestaw danych opisujących charakterystykę kolorystyczną urządzenia lub procesu. Dla drukarki będzie to macierz odwzorowująca, jak konkretna kombinacja ilości farb cyjan/magenta/żółty/czarny zachowuje się na danym papierze przy danym podłożu i suszeniu. Dla monitora – tabela korelująca wartości RGB z rzeczywistą barwą emitowaną przez diody.
Gdy narzędzie na tej stronie wykonuje konwersję, działa na tzw. standardowej przestrzeni sRGB dla RGB i standardowym CMYK bez korekty (często traktowanym jako generic CMYK, np. według krzywej SWOP dla papieru powlekanego). To uproszczenie wystarcza do szybkiego podglądu, ale:
- Jeśli drukujesz na maszynie cyfrowej z profilem FOGRA39, wyniki z narzędzia będą odbiegać od rzeczywistych wartości CMYK, które zapewnią wierny wydruk.
- Jeśli pracujesz z monitorem skalibrowanym do D65 i biały punkt 6500K, a narzędzie zakłada D50 (standardowy punkt bieli dla CMYK), pojawi się systematyczne przesunięcie odcienia.
W takich sytuacjach należy użyć dedykowanego profilu ICC w profesjonalnym oprogramowaniu (Adobe Photoshop, Illustrator, programy do składu DTP). Narzędzie online jest pomocne w pierwszych przybliżeniach, ale nie zastąpi przepływu pracy z profilami dla zadań wymagających kolorystycznej zgodności.
Gdy potrzebujesz absolutnej wierności między projektem ekranowym a wydrukiem, nie wystarczy skopiować wartości RGB z tej strony i wstawić je w projekcie do druku. Należy:
- Poznać profil drukarki i papieru (np. zamówić go w drukarni lub korzystać z ogólnodostępnych profili FOGRA).
- W oprogramowaniu DTP zastosować konwersję z sRGB na docelowy CMYK z użyciem tego profilu.
- Wykonać próbny wydruk i ocenić różnice.
FAQ – Najczęściej zadawane pytania
Czy konwersja CMYK na RGB jest odwracalna?
Nie. Ze względu na różnice w gamucie oraz brak profilu ICC, konwersja zawsze wiąże się z przybliżeniem. Dotyczy to szczególnie kolorów nasyconych, które wychodzą poza zakres RGB (przycięcie) lub które po powrocie do CMYK ulegają przesunięciu. Możesz uzyskać ten sam RGB wyjściowy, ale nie musi to być ten sam CMYK wejściowy.
Dlaczego kolor na ekranie tak bardzo różni się od wydruku?
Ekran emituje światło, a wydruk odbija je od powierzchni papiera. Ponadto CMYK ma węższy gamut – zwłaszcza w obszarach zieleni i niebieskiego. Profil ICC używany przez drukarnię dodatkowo modyfikuje wartości w zależności od konkretnego papieru i farb. To zupełnie inne światy fizyczne.
Co zrobić, gdy wprowadzę niepoprawne dane w polu CMYK?
Narzędzie wyświetli komunikat: "Enter CMYK as four percentages 0–100, like 66%, 69%, 0%, 10%.". Sprawdź, czy wszystkie cztery wartości są liczbami w zakresie 0–100, oddzielonymi przecinkami lub spacją, bez dodatkowych znaków poza procentami.
Czy narzędzie zapisuje moje dane lub wysyła je na serwer?
Nie. Cała konwersja odbywa się w przeglądarce. Żadne dane nie są przesyłane, przechowywane ani logowane. Możesz pracować nawet po odcięciu od internetu, o ile strona została załadowana.
Jaki algorytm konwersji jest stosowany do obliczenia RGB?
Narzędzie używa standardowego liniowego algorytmu CMYK→RGB bez profilu ICC: R = 255 × (1 − C/100) × (1 − K/100), analogicznie dla G i B z odpowiednimi składowymi. W przypadku wyjścia poza zakres 0–255 wartość jest obcinana do najbliższej granicy.
Czy wyniki RGB można wkleić bezpośrednio do CSS?
Tak. Możesz skopiować wartość HEX (np. #3D36E6) i użyć jej jako koloru tła lub tekstu w CSS. Możesz też użyć notacji rgb(61, 54, 230). Pamiętaj jednak, że dokładność wyświetlania zależy od profilu Twojego monitora i warunków oświetlenia. W projektach, gdzie wymagana jest zgodność z drukiem, wartości te są tylko punktem wyjścia do dalszych korekt.