Salta al contingut

Eina de Selecció de Color - Converteix Codis de Color RGB, Hex, CMYK i HSV

Selector de color en línia gratuït amb conversió instantània de RGB, Hex, CMYK i HSV. Fes clic a l'espectre per seleccionar colors visualment o introdueix valors exactes. Copia qualsevol format amb un sol clic per a dissenys web, impressió i projectes digitals.

Selector de Color

RGB (0-255)

CMYK (0-100)

Selector de Color

0%
100%
Calculadora de càrrega...
📚

Documentació

Què Pots Fer amb aquest Selector de Colors

Necessites el to perfecte per al teu projecte? Aquest selector de colors et permet seleccionar, previsualitzar i convertir colors entre formats RGB, Hex, CMYK i HSV instantàniament. Tant si estàs programant un lloc web, dissenyant un logotip o preparant arxius per imprimir, trobaràs els valors de color exactes que necessites, sense endevinar ni canviar entre eines.

Fes clic a qualsevol punt de l'espectre de colors per triar un to, ajusta la brillantor amb un control lliscant o introdueix valors precisos directament. Cada format s'actualitza en temps real, i pots copiar qualsevol codi de color amb un sol clic.

Entenent els Models de Color

Diferents projectes necessiten formats de color diferents. Aquí hi ha el que fa cadascun i quan fer-lo servir:

RGB (Vermell, Verd, Blau)

RGB funciona barrejant llum vermella, verda i blava, de la mateixa manera que la seva pantalla mostra colors ara mateix. Cada component va de 0 a 255:

  • RGB(255, 0, 0) = vermell pur
  • RGB(0, 255, 0) = verd pur
  • RGB(0, 0, 255) = blau pur
  • RGB(255, 255, 255) = blanc
  • RGB(0, 0, 0) = negre

Quan fer servir RGB: Qualsevol treball digital: llocs web, aplicacions mòbils, edició de vídeo o gràfics de pantalla. És el llenguatge natiu de les pantalles, per això eines com CSS suporten funcions rgb() i rgba() directament. Segons l'especificació W3C CSS Color Module, RGB és el model de color fonamental per als estàndards web.

Hexadecimal (Hex)

Els codis Hex són simplement valors RGB escrits en base-16 en lloc de base-10. Un color hex es veu com #FF5733, on:

  • El símbol # el marca com a codi hex
  • Els primers dos caràcters = vermell (00-FF)
  • Els dos del mig = verd (00-FF)
  • Els dos últims = blau (00-FF)
  • #FF0000 = vermell, #00FF00 = verd, #0000FF = blau

A vegades es veu un format abreujat de 3 caràcters com #F00 en lloc de #FF0000—funciona quan cada canal de color repeteix el mateix dígit.

Quan fer servir Hex: El cas d'ús principal és el desenvolupament web. CSS sempre ha suportat la notació hex, i la majoria de desenvolupadors la troben més ràpida d'escriure que rgb(). Un error comú: oblidar el símbol # trencarà els seus estils silenciosament, ja que els navegadors no el reconeixeran com un color vàlid.

CMYK (Cian, Magenta, Groc, Clau/Negre)

CMYK és el model de color usat per les impressores. A diferència de RGB (que afegeix llum), CMYK la resta: barrejant tintes en paper blanc per crear colors:

  • Cada component va del 0% al 100%
  • CMYK(0, 100, 100, 0) = vermell
  • CMYK(100, 0, 100, 0) = verd
  • CMYK(0, 0, 0, 100) = tinta negra pura
  • CMYK(0, 0, 0, 0) = sense tinta (es veu el paper blanc)

Quan fer servir CMYK: Disseny per a impressió: targetes de visita, fullets, revistes, packaging. Aquí hi ha la realitat: molts colors RGB brillants simplement no es poden reproduir amb tintes CMYK. Aquell blau elèctric que veus a la pantalla? Es veurà més apagat quan s'imprimeixi. Els dissenyadors professionals sempre prèviament els colors CMYK abans d'enviar arxius a la impressora per evitar sorpreses.

HSV (To, Saturació, Valor)

HSV descompon el color en tres components intuïtius:

  • To: Quina família de color (0-360°)—0° és vermell, 120° és verd, 240° és blau
  • Saturació: Quant de viu o gris (0-100%)—0% és escala de grisos, 100% és totalment saturat
  • Valor: Quant de brillant o fosc (0-100%)—0% és negre, 100% és brillantor total

Per què importa HSV: Coincideix amb la manera com els humans pensen naturalment sobre el color. Vols un blau més fosc? Baixa el valor. Vols un blau menys intens? Baixa la saturació. Això fa que HSV sigui ideal per a selectors de color interactius com aquest, on selecciones un to a l'espectre i ajustes la brillantor amb un control lliscant.

Fórmules de Conversió de Color

El selector de color converteix automàticament entre diferents models de color mitjançant aquestes fórmules matemàtiques:

Conversió de RGB a Hexadecimal

Per convertir RGB a hexadecimal:

  1. Convertir cada component RGB (0-255) a un número hexadecimal de dos dígits
  2. Concatenar els tres valors hexadecimals amb un prefix #

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

On toHex() converteix un número decimal a la seva representació hexadecimal.

Conversió de RGB a CMYK

La conversió de RGB a CMYK implica aquests passos:

  1. Normalitzar els valors RGB a l'interval 0-1
  2. Calcular el component de clau negra (K)
  3. Calcular C, M i Y basats en K

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\%

Conversió de RGB a HSV

Convertint RGB a HSV:

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}

Per a Matís (H):

undefined
1// Conversió de RGB a 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// Conversió de Hex a RGB
12function hexToRgb(hex) {
13  // Eliminar # si és present
14  const cleanHex = hex.startsWith('#') ? hex.slice(1) : hex;
15  
16  // Gestionar hex de 3 i 6 dígits
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// Conversió de RGB a CMYK
29function rgbToCmyk(r, g, b) {
30  // Normalitzar valors RGB
31  const normalizedR = r / 255;
32  const normalizedG = g / 255;
33  const normalizedB = b / 255;
34  
35  // Calcular K (negre)
36  const k = 1 - Math.max(normalizedR, normalizedG, normalizedB);
37  
38  // Gestionar negre pur
39  if (k === 1) {
40    return { c: 0, m: 0, y: 0, k: 100 };
41  }
42  
43  // Calcular 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// Exemple d'ús
57const rgb = { r: 255, g: 0, b: 0 }; // Vermell pur
58console.log(`Hex: ${rgbToHex(rgb.r, rgb.g, rgb.b)}`);
59console.log(`CMYK:`, rgbToCmyk(rgb.r, rgb.g, rgb.b));
60

Referències i Lectures Addicionals