Siirry sisältöön

Värinvalitsimen työkalu - Muunna RGB, Hex, CMYK ja HSV-värikoodit

Ilmainen online-värinvalitsin, jossa välitön RGB-, Hex-, CMYK- ja HSV-muunnos. Valitse värejä visuaalisesti klikkaamalla spektriä tai syötä tarkat arvot. Kopioi mikä tahansa muoto yhdellä klikkauksella web-suunnittelua, painotuotteita ja digitaalisia projekteja varten.

Värinvalitsin

RGB (0-255)

CMYK (0-100)

Värinvalitsin

0%
100%
Latauslaskuri...
📚

Dokumentaatio

Mitä Tällä Värinvalitsimella Voit Tehdä

Tarvitsetko täydellisen sävyn projektiisi? Tämä värinvalitsin antaa sinun valita, esikatsella ja muuntaa värejä RGB-, Hex-, CMYK- ja HSV-muotojen välillä heti. Olitpa sitten kehittämässä verkkosivustoa, suunnittelemassa logoa tai valmistelemassa tiedostoja painatukseen, löydät tarkalleen tarvitsemasi väriarvot – ilman arvailuja ja ilman työkalujen välillä vaihtamista.

Klikkaa missä tahansa värisspektrissä valitaksesi sävyn, säädä kirkkautta liukusäätimellä tai syötä tarkat arvot suoraan. Jokainen muoto päivittyy reaaliajassa, ja voit kopioida minkä tahansa värikoodin yhdellä klikkauksella.

Värimallien ymmärtäminen

Eri projektit tarvitsevat erilaisia värimuotoja. Tässä on kuvaus siitä, mitä kukin tekee ja milloin sitä käytetään:

RGB (Punainen, Vihreä, Sininen)

RGB toimii sekoittamalla punaista, vihreää ja sinistä valoa - samalla tavalla kuin näyttösi näyttää värit juuri nyt. Jokainen komponentti vaihtelee välillä 0-255:

  • RGB(255, 0, 0) = puhdas punainen
  • RGB(0, 255, 0) = puhdas vihreä
  • RGB(0, 0, 255) = puhdas sininen
  • RGB(255, 255, 255) = valkoinen
  • RGB(0, 0, 0) = musta

Milloin käyttää RGB:tä: Kaikessa digitaalisessa työssä - verkkosivuilla, mobiilisovelluksissa, videoeditoinneissa tai näyttöpohjaisissa grafiikassa. Se on näyttöjen alkuperäinen kieli, minkä vuoksi työkalut kuten CSS tukevat suoraan rgb()- ja rgba()-funktioita. W3C CSS Color Module -määrityksen mukaan RGB on verkkostandardi­en perusvärimalli.

Heksadesimaalinen (Hex)

Heksadesimaalikoodit ovat vain RGB-arvoja kirjoitettuna kantaluvussa 16 kantaluvun 10 sijaan. Heksaväri näyttää tältä #FF5733, jossa:

  • #-symboli merkitsee sen heksadesimaalivärikoodiksi
  • Ensimmäiset kaksi merkkiä = punainen (00-FF)
  • Keskimmäiset kaksi = vihreä (00-FF)
  • Viimeiset kaksi = sininen (00-FF)
  • #FF0000 = punainen, #00FF00 = vihreä, #0000FF = sininen

Joskus näet 3-merkkisen pikaversion kuten #F00 muodon #FF0000 sijaan - tämä toimii, kun jokainen värikomponentti toistaa saman numeron.

Milloin käyttää Hex:iä: Ensisijainen käyttötapaus on web-kehitys. CSS on aina tukenut heksanotaatiota, ja useimmat kehittäjät kokevat sen nopeammaksi kirjoittaa kuin rgb(). Yleinen sudenkuoppa: #-symbolin unohtaminen rikkoo tyylit hiljaisesti, koska selaimet eivät tunnista sitä kelvolliseksi väriksi.

CMYK (Syaani, Magenta, Keltainen, Avain/Musta)

CMYK on värimalli, jota tulostimet käyttävät. Toisin kuin RGB (joka lisää valoa), CMYK vähentää sitä - sekoittaen mustetta valkoiselle paperille värien luomiseksi:

  • Jokainen komponentti vaihtelee 0%:sta 100%:iin
  • CMYK(0, 100, 100, 0) = punainen
  • CMYK(100, 0, 100, 0) = vihreä
  • CMYK(0, 0, 0, 100) = puhdas musta muste
  • CMYK(0, 0, 0, 0) = ei mustetta (valkoinen paperi näkyy läpi)

Milloin käyttää CMYK:tä: Painotuotteissa - käyntikortit, esitteet, lehdet, pakkaukset. Todellisuudessa monet kirkkaat RGB-värit eivät yksinkertaisesti ole toistettavissa CMYK-musteilla. Se kirkas sähköinen sininen, jonka näet näytöllä? Se näyttää haaleammalta tulostettuna. Ammattimaiset suunnittelijat aina esikatsovat CMYK-muunnokset ennen tiedostojen lähettämistä painoon yllättävyyksien välttämiseksi.

HSV (Värisävy, Kylläisyys, Arvo)

HSV jakaa värin kolmeen intuitiiviseen komponenttiin:

  • Värisävy: Mikä väriperhe (0-360°) - 0° on punainen, 120° on vihreä, 240° on sininen
  • Kylläisyys: Kuinka eloisa tai harmaa (0-100%) - 0% on harmaasävy, 100% on täysin kylläinen
  • Arvo: Kuinka kirkas tai tumma (0-100%) - 0% on musta, 100% on täysi kirkkaus

Miksi HSV on tärkeä: Se vastaa sitä, miten ihmiset luonnostaan ajattelevat väriä. Haluatko tummemman sinisen? Laske arvoa. Haluatko vähemmän intensiivisen sinisen? Laske kylläisyyttä. Tämä tekee HSV:stä ihanteellisen interaktiivisille värinvalitsimille, joissa valitset värisävyn spektristä ja säädät kirkkautta liukusäätimellä.

Värinmuunnoskaavat

Värinvalitsin muuntaa automaattisesti eri värimalleja käyttäen näitä matemaattisia kaavoja:

RGB:stä heksadesimaaleiksi muuntaminen

RGB:n muuntamiseksi heksadesimaaleiksi:

  1. Muunna jokainen RGB-komponentti (0-255) kahden numeron heksadesimaaliseksi luvuksi
  2. Yhdistä kolme heksadesimaaliarvoa # -etuliitteellä

Hex=#+toHex(R)+toHex(G)+toHex(B)\text{Hex} = \text{\#} + \text{toHex}(R) + \text{toHex}(G) + \text{toHex}(B)

Missä toHex() muuntaa desimaaliluvun sen heksadesimaaliseksi esitykseksi.

RGB:stä CMYK:iin muuntaminen

Muunnos RGB:stä CMYK:iin sisältää seuraavat vaiheet:

  1. Normalisoi RGB-arvot välille 0-1
  2. Laske musta avainkomponentti (K)
  3. Laske C, M ja Y K:n perusteella

R=R/255,G=G/255,B=B/255R' = R/255, G' = G/255, B' = B/255 K=1max(R,G,B)K = 1 - \max(R', G', B') C=(1RK)(1K)×100%C = \frac{(1-R'-K)}{(1-K)} \times 100\% M=(1GK)(1K)×100%M = \frac{(1-G'-K)}{(1-K)} \times 100\% Y=(1BK)(1K)×100%Y = \frac{(1-B'-K)}{(1-K)} \times 100\%

RGB:stä HSV:iin muuntaminen

RGB:n muuntaminen HSV:ksi:

R=R/255,G=G/255,B=B/255R' = R/255, G' = G/255, B' = B/255 Cmax=max(R,G,B)C_{max} = \max(R', G', B') Cmin=min(R,G,B)C_{min} = \min(R', G', B') Δ=CmaxCmin\Delta = C_{max} - C_{min}

Värisävylle (H):

0° & \text{jos } \Delta = 0 \\ 60° \times (\frac{G' - B'}{\Delta} \mod 6) & \text{jos } C_{max} = R' \\ 60° \times (\frac{B' - R'}{\Delta} + 2) & \text{jos } C_{max} = G' \\ 60° \times (\frac{R' - G'}{\Delta} + 4) & \text{jos } C_{max} = B' \end{cases}$$ Kylläisyydelle (S): $$S = \begin{cases} 0 & \text{jos } C_{max} = 0 \\ \frac{\Delta}{C_{max}} \times 100\% & \text{muuten} \end{cases}$$ Arvolle (V): $$V = C_{max} \times 100\%$$ ## Värinvalitsimen käyttö Kolme tapaa työskennellä värien kanssa: klikkaa spektriä, kirjoita tarkat arvot tai säädä liukusäätimellä. Valitse tapa, joka tuntuu luonnollisimmalta työnkulullesi. ### Värien valitseminen visuaalisesti Klikkaa missä tahansa **värispektrissä** valitaksesi sävyn. Vaakasuora sijainti valitsee värisävyn (punainen, vihreä, sininen jne.), kun taas pystysuora sijainti ohjaa kylläisyyttä (elävä vs. haalistunut). Esikatselu päivittyy välittömästi, jotta näet täsmälleen mitä olet saamassa. Vedä **kirkkauden liukusäädintä** spektrin alapuolella tehdäksesi väristä vaaleamman tai tummemman. Tämä säätää "arvoa" HSV-termeissä—vasemmalle vetäminen tummentaa, oikealle vetäminen kirkastaa. ### Värien tarkat arvot Tiedätkö jo haluamasi värin? Kirjoita se suoraan: **Heksadesimaalinen muoto:** Kirjoita koodit kuten `#FF5733`. Voit sisällyttää tai jättää pois `#`:n—työkalu käsittelee molemmat. Toimii myös 3-numeroisella pikamuodolla (`#F37`). **RGB-muoto:** Kirjoita arvot 0-255 punaiselle, vihreälle ja siniselle. Jos vahingossa kirjoitat 300, se rajoittuu automaattisesti arvoon 255. **CMYK-muoto:** Kirjoita prosentit (0-100) jokaiselle väripigmentille. Hyödyllinen, kun yhteensovitat värejä painosuunnittelijan määritysten kanssa. Jokainen muoto päivittyy reaaliajassa. Muuta heksadesimaalikoodia, ja RGB/CMYK muuttuu automaattisesti. ### Värikoodien kopiointi Klikkaa kopiointipainiketta (leikepöytäkuvake) minkä tahansa värimuodon vieressä. Näet nopean "Kopioitu!"-vahvistuksen, jonka jälkeen voit liittää arvon minne tahansa tarvitset—CSS-tiedostoihin, suunnitteluohjelmistoihin, dokumentaatioon, kaikkialle. **Vinkki:** Kun työskentelet useissa tiedostoissa tai sovelluksissa, pidä tämä työkalu auki selaimen välilehdessä. Voit nopeasti viitata ja kopioida väriarvoja vaihtamatta kontekstia. ## Todelliset käyttötapaukset ### Web-kehitys Rakennat tummaa tilaa vaihtavaa painiketta ja tarvitset värivaihteluja. Aloita brändisi pääväristä heksadesimaalimuodossa (esim. `#3B82F6`), käytä sitten kirkkauden liukusäädintä luodaksesi tummempia versioita taustoille (`#1E3A8A`) ja vaaleampia versioita hover-tiloille (`#60A5FA`). Kopioi jokainen heksadesimaalikoodi suoraan CSS-mukautettuihin ominaisuuksiin. Kun työskentelet läpinäkyvyyden kanssa, hae RGB-arvot ja käytä niitä `rgba()`-funktioissa. Esimerkiksi `rgb(59, 130, 246)` muuttuu `rgba(59, 130, 246, 0.8)` 80% peittävyydellä. Yleinen skenaario: Asiakas tarjoaa Figma-suunnitelman väreillä, jotka on määritelty RGB:nä, mutta sinä suosit heksadesimaalimuotoa CSS:ssä. Muunna ne tässä manuaalisen laskennan sijaan. ### Graafinen suunnittelu painotuotteisiin Tässä CMYK tulee kriittiseksi. Olet suunnitellut värikylläisen julisteen näytöllä RGB-väreillä, mutta ennen tulostukseen lähettämistä tarkista CMYK-arvot. Se sähköisen syaaninen sävy (RGB 0, 255, 255) muuntuu CMYK(100, 0, 0, 0):ksi - mikä näyttää hyvältä. Mutta kirkas näyttövihreä (RGB 0, 255, 0) saattaa muuttua huomattavasti tulostettaessa. Ammattimainen työnkulku: Syötä näyttövärit tähän, huomioi CMYK-muunnokset ja vertaa niitä visuaalisesti suunnitteluohjelmistosi CMYK-esikatselutilassa. Jos värit muuttuvat liikaa, säädä valintojasi ennen suunnitelman viimeistelyä. Tämä estää "näytti erilaiselta näytölläni" -keskustelun painotalon kanssa. ### UI/UX-suunnittelujärjestelmät Suunnittelujärjestelmän rakentaminen edellyttää johdonmukaisia värisävyjä. Aloita pääväristä, luo sitten 5-10 kirkkauden vaihtelua eri käyttöliittymän tiloille. Kirkkauden liukusäädin tekee tästä nopeaa - ei vaadi minkäänlaista päässälaskentaa. Saavutettavuuden vuoksi tarvitset riittävän kontrastin tekstin ja taustojen välille. Vaikka tämä työkalu ei laske kontrastisuhteita (tarvitset siihen erillisen [WCAG-kontrastintarkistajan](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html)), se auttaa nopeasti testaamaan eri sävyjä, kunnes löydät toimivat yhdistelmät. Todellinen skenaario: Ensisijainen painikkeesi käyttää `#2563EB`:tä, mutta teksti tällä taustalla ei läpäise kontrastivaatimuksia. Vaalenna taustaa tai tummenna tekstiä - käytä esikatselua vaihtoehtojen testaamiseen heti. ### Digitaalinen taide ja kuvitus Teet digitaalista maalausta ja tarvitset johdonmukaista väriharmoniaa? Valitse perusväri spektristä, luo sitten variaatioita säätämällä vain kylläisyyttä ja kirkkautta. Tämä pitää palettisi yhtenäisenä ilman satunnaisia värinvaihdoksia. Monet digitaaliset taiteilijat pitävät värinvalitsinta auki maalatessaan voidakseen nopeasti poimia ja muuntaa viitevärejä. Näetkö täydellisen varjovärin referenssikuvassa? Klikkaa se tässä (jos olet poiminut arvon muualta), hae RGB-arvot ja liitä ne Photoshopiin, Procreateen tai Kritaan. ### Värikoulutus ja -kokeilu Haluatko ymmärtää, miten värimallit liittyvät toisiinsa? Valitse mikä tahansa väri ja katso, miten sen arvot muuttuvat RGB:n, Hex:in, CMYK:n ja HSV:n välillä. Huomaa, että puhdas punainen (RGB 255, 0, 0) vastaa `#FF0000`:aa, mutta sen CMYK-vastaava on 0, 100, 100, 0 - täysin erilaiset numerot, jotka edustavat samaa havaittua väriä. Tämä visuaalinen palaute auttaa opiskelijoita käsittämään, miksi RGB käyttää additiivista sekoitusta (valon yhdistäminen), kun taas CMYK käyttää subtraktiivista sekoitusta (musteiden yhdistäminen). Interaktiivinen luonne tekee abstrakteista käsitteistä käsin kosketeltavia. ## Muita värintyökaluja, joita saatat tarvita Tämä työkalu keskittyy yksittäisten värien valitsemeen ja muuntamiseen. Projekteistasi riippuen saatat tarvita myös: **Palettien generaattorit** (Adobe Color, Coolors) kun tarvitset useita harmonisia värejä väriteorian perusteella - komplementaariset, triadiset tai analogiset värikaavat. **Selainlaajennukset** (ColorZilla, Eye Dropper) värien poimimiseen suoraan verkkosivuilta tai näytön elementeistä. Loistavia olemassa olevien suunnitelmien värien täsmäämiseen. **Kontrastintarkistajat** saavutettavuustyöhön. [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) testaa, täyttävätkö teksti- ja taustavärien yhdistelmät WCAG-standardit. **Pantone/RAL-järjestelmät** tarkan painovärin täsmäämiseen eri painotaloissa ja materiaaleissa. Nämä fyysiset värikartat tarjoavat standardoidut viitteet, joita digitaaliset työkalut eivät voi täysin jäljitellä. ## Värien saavutettavuus Noin 8% miehistä ja 0,5% naisista kärsii jonkinasteisesta värinäön heikkoudesta. Näin suunnittelet osallistavasti: **Älä koskaan käytä pelkkää väriä** merkityksen välittämiseen. Jos lomakkeessasi näytetään virheet punaisella, lisää myös kuvake tai tekstilippu. Kaavioissa eri värisillä viivoilla? Lisää kuvioita, tekstilabelit tai molemmat. **Tarkista kontrastisuhteet** käyttäen työkaluja kuten [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/). Normaali teksti tarvitsee vähintään 4,5:1 kontrastisuhteen taustaansa nähden, suuri teksti 3:1. [WCAG 2.1 -ohjeiden](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html) mukaan tämä takaa luettavuuden käyttäjille, joilla on lievä näköheikkous. **Vältä ongelmallisia vähdyhdistelmiä:** Punainen-vihreä on yleisin ongelma (protanopia ja deuteranopia vaikuttavat punaisen ja vihreän havaitsemiseen). Sininen-keltainen aiheuttaa ongelmia henkilöille, joilla on tritanopia. Testaa suunnitelmasi simulaattoreilla kuten [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/) nähdäksesi, miltä ne näyttävät käyttäjille, joilla on erilaisia värinäön heikkouksia. **Käytä värisokeiden ystävällisiä väripaletteja** aina kun mahdollista. Siniset, oranssit ja keltaiset värit toimivat yleensä hyvin yhdessä, koska ne ovat erotettavissa useimmissa värisokeuden muodoissa. ## Usein kysytyt kysymykset ### Mikä on ero RGB:n ja CMYK:n välillä? RGB on tarkoitettu näytöille, CMYK painotuotteille. Näytöt luovat värejä lähettämällä punaista, vihreää ja sinistä valoa (additiivinen sekoitus), kun taas tulostimet luovat värejä kerrostamalla syaania, magentaa, keltaista ja mustaa mustetta paperille (subtraktiivinen sekoitus). RGB voi tuottaa kirkkaampia ja eloisampia värejä kuin CMYK, koska valo sisältää laajemman väriavaruuden kuin muste. Siksi näytön värit näyttävät usein haaleammilta tulostettaessa. ### Miksi värit näyttävät erilaisilta tulostettaessa? Näytöt lähettävät valoa, paperi heijastaa sitä - kyseessä ovat perustavanlaatuisesti erilaiset prosessit. Lisäksi RGB käsittelee miljoonia värejä, joita CMYK-muste ei yksinkertaisesti voi toistaa. Näytön kalibrointi, paperin laatu ja musteen vaihtelut lisäävät muuttuvia tekijöitä. Tarkista aina CMYK-arvot ennen tulostusta ja pyydä fyysisiä näytteitä kriittisiin värinmääritystyöhön. ### Miten saan hex-koodit verkossa näkemistäni väreistä? Käytä selaimen kehittäjätyökaluja. Chromessa tai Firefoxissa napsauta mitä tahansa elementtiä hiiren kakkospainikkeella, valitse "Tarkastele" ja napsauta pientä väriruutua tyylipaneelissa. Tämä avaa värinvalitsimen, joka näyttää hex-koodin. Selainlaajennukset kuten ColorZilla tekevät tästä vieläkin nopeampaa - ne antavat sinun napsauttaa mitä tahansa sivun kohtaa väriarvon poimimiseksi. ### Mitä # tarkoittaa hex-koodeissa? Se on vain etuliite, joka kertoo selaimelle "tämä on heksadesimaalinen värikoodi". Standardi tulee varhaisilta HTML- ja CSS-määrityksiltä. Kuusi merkkiä `#`:n jälkeen edustavat RGB-arvoja kantaluvussa 16: kaksi numeroa punaiselle, kaksi vihreälle, kaksi siniselle. Ilman `#`:tä selaimet eivät tunnista sitä väriksi. ### Miksi 3-numeroiset hex-koodit toimivat? Ne ovat pikakirjoitusta tilanteisiin, joissa kukin värikanava toistuu. `#F00` laajenee muotoon `#FF0000` (punainen), `#C9C` muuttuu muotoon `#CC99CC` (vaalea violetti). Tämä pikakirjoitus luotiin 1990-luvulla tiedostokokojen pienentämiseksi, kun kaistanleveys oli kallista. Se on edelleen kätevä yksinkertaisille väreille. ### Ovatko värimuunnokset tarkkoja? RGB-hex-muunnokset ovat matemaattisesti tarkkoja - kyseessä ovat samat arvot eri lukujärjestelmissä. RGB-CMYK-muunnokset ovat arvioita, koska muunnat perustavanlaatuisesti erilaisista väriavaruuksista (valo vs. muste). Työkalu käyttää [ICC-väriprofiilien standardeja](http://www.color.org/specification/ICC1v42_2006-05.pdf) näissä muunnoksissa, samaa lähestymistapaa kuin ammattimaiset suunnitteluohjelmistot. ### Miten luon saavutettavia vähdistelmä? Käytä kontrastintarkistajaa kuten [WebAIM:n työkalua](https://webaim.org/resources/contrastchecker/) värien valinnan jälkeen. Tarvitset 4,5:1 suhteen normaalille tekstille, 3:1 suurelle tekstille. Vältä punaviher-yhdistelmiä (vaikein värisokaille käyttäjille). Kun olet epävarma, käytä tummempaa tekstiä vaaleammalla taustalla tai päinvastoin - riittävä luminanssiero on tärkein asia. ### Voinko poimia värejä kuvista? Ei suoraan tässä työkalussa. Käytä selaimen laajennusta kuten ColorZilla tai ota kuvakaappaus ja käytä käyttöjärjestelmäsi värinvalitsinta (Digital Color Meter macOS:ssa, PowerToys Color Picker Windowsissa). Kun sinulla on värin arvo, syötä se tähän muuntaaksesi eri muotoihin. ### Miksi jotkin RGB-värit eivät muunnu hyvin CMYK:ksi? CMYK:lla on kapeampi "gamut" (toistettavissa olevien värien alue) kuin RGB:llä. Kirkkaat sinisen sävyt, eloisat vihreät ja sähköiset oranssit jäävät usein CMYK-musteen fyysisen tuotantokyvyn ulkopuolelle. Kun näin tapahtuu, tulostin korvaa lähimmällä mahdollisella värillä, joka yleensä näyttää vähemmän kylläiseltä. Ammattimaiset painosuunnittelijat aloittavat usein CMYK-turvallisilla väreillä välttääkseen tämän ongelman. ## Värimuunnosten koodiesimerkit Tässä on joitakin koodiesimerkkejä, jotka näyttävät, miten värit muunnetaan eri muotoihin:
1// RGB:stä heksadesimaaliksi
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// Heksadesimaalista RGB:ksi
12function hexToRgb(hex) {
13  // Poista # jos läsnä
14  const cleanHex = hex.startsWith('#') ? hex.slice(1) : hex;
15  
16  // Käsittele sekä 3- että 6-merkkiset heksadesimaalit
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:stä CMYK:ksi
29function rgbToCmyk(r, g, b) {
30  // Normalisoi RGB-arvot
31  const normalizedR = r / 255;
32  const normalizedG = g / 255;
33  const normalizedB = b / 255;
34  
35  // Laske K (musta)
36  const k = 1 - Math.max(normalizedR, normalizedG, normalizedB);
37  
38  // Käsittele puhdas musta
39  if (k === 1) {
40    return { c: 0, m: 0, y: 0, k: 100 };
41  }
42  
43  // Laske 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// Käyttöesimerkki
57const rgb = { r: 255, g: 0, b: 0 }; // Puhdas punainen
58console.log(`Heksa: ${rgbToHex(rgb.r, rgb.g, rgb.b)}`);
59console.log(`CMYK:`, rgbToCmyk(rgb.r, rgb.g, rgb.b));
60

Viitteet ja lisälukemisto