Los colores en web se representan con el modelo RGB (Red, Green, Blue), es decir, se genera cualquier color partiendo de la combinación en distintas proporciones de éstos tres colores primarios. Pero no siempre fué así. La cantidad de colores que fué posible presentar en un monitor, siempre ha estado ligada (o limitada) por lo que se conoce como profundidad de color o profundidad de bit.
Profundidad de color
Es la cantidad de información o bits que tiene un pixel para guardar un color. Sabemos que un bit es la cantidad mínima de información, y puede ser 0 o 1, entonces un pixel con capacidad de un bit para almacenar su color, sólo puede representar dos colores.
El avance en la capacidad de los ordenadores ha hecho posible el manejo de más información y más datos. Poco a poco se fueron asignando más bits de memoria a los pixeles, lo que se tradujo en que los pixeles tenían capacidad de representar más colores. El color que se asignaba a un número, era determinado por la paleta de colores utilizada. Era como un cuaderno para colorear por números, donde cada pixel se "pintaba" del color que correspondía a su número.
| Núm. de bits |
Posibles valores |
Núm. de colores |
1 bit |
sólo 0 o 1 |
2 |
2 bits  |
00, 01, 10 o 11 |
4 |
4 bits    |
0000 hasta el 1111 |
16 |
8 bits        |
00000000 al 11111111 |
256 |
Como vemos en el gráfico, una profundidad de 2 bits, podría tener las combinaciones: 00, 01, 10 y 11, es decir, 4 colores posibles. Es importante aclarar que los colores en la paleta podían ser cualquier color, siempre y cuando fueran nomás 4. Podían ser 4 tonos de grises o 4 tonos variados, ésto lo decidía el software que se ejecutaba. Por ejemplo, el sistema operativo Windows funcionaba en 4 bits con una paleta de color como la que se muestra en el gráfico siguiente.
Cuando llegaron los monitores con profundidad de color de 8 bits, el
número de colores aumentó considerablemente. Ahora se tenían 256
posibles colores, y los monitores se colorearon con toda una gama de nuevos
tonos.
Separación por canales RGB
Conforme el número de colores posibles aumentaba, se volvió
impráctico relacionar cada color de la paleta con un número. Cuando llegaron los monitores de 16 bits, capaces de
representar 65,535 colores, se decidió descartar la paleta de colores y separar los 16 bits en: 5 bits
para el rojo (R), 6 bits para el verde (G) y 5 bits para el azul (B).
El ojo humano tiene más conos sensibles al verde, por lo tanto tiene una mejor capacidad para detectar variaciones en
los tonos de verde, por eso se decidió que el verde tuviera mas
bits de información. De esta forma el númerito en el pixel ya no
representaba un color específico, ahora los números indicaban cuánto de
rojo, cuánto de verde y cuánto de azul debía tener cada pixel y de esa
combinación nacía un color específico.
El número más alto que podemos representar con 5 bits es 11111 (que en sistema decimal sería el número 31), entonces para representar el color rojo tendríamos que saturar el canal R (Red) y se representaría con el número binario: 11111,000000,00000. En otras palabras, ésto se podría traducir como 31 unidades de rojo, 0 de verde y 0 de azul, lo cuál nos dá un color rojo puro.
| Profundidad de 16 bits |
| canal R | canal G | canal B |
00000 |
000000 |
00000 |
| 5 bits |
6 bits |
5 bits |
|
| Profundidad de 24 bits |
| canal R | canal G | canal B |
00000000 |
00000000 |
00000000 |
| 8 bits |
8 bits |
8 bits |
|
Con 65,535 colores en los monitores, era posible una decente
representación de fotografías e imágenes, pero pronto llegó la
profundidad de color de 24 bits, con lo cuál se asignaron a cada canal 8
bits de informacion. Con 8 bits (11111111) se pueden tener 256 tonos para el rojo, 256 para el verde y 256 para el azul (256
x 256 x 256), haciendo posible la representacion de 16,777,215 colores,
conocida también como "16 millones de colores" o "Color Verdadero". El
color rojo entonces, se representaba saturando el primer canal del RGB:
11111111,00000000,00000000, o en sistema decimal sería: 255,0,0. Para fines prácticos, se decidió utilizar una base hexadecimal, es decir, con 16 caracteres que van desde el 0 hasta el 9 y después las letras A, B, C, D, E y F. De esta forma, para representar el número 255 ya no requerimos tres dígitos, sino sólo dos: FF, así que el rojo terminó siendo: FF,00,00. Ésta representación hexadecimal es la que se utiliza actualmente para "colorear" los pixeles en las páginas web.
Toda esta revolución en las tarjetas de video y en la profundidad de
color en los monitores sucedió en relativamente pocos años; años en los
que justamente el internet fué ganando popularidad y la visualización
de páginas web se volvió una tarea más habitual en los ordenadores, que
antes solo servían como procesadores de texto u hojas de cálculo.
Aquellas primeras páginas de internet, se toparon con el problema de
que no todos los ordenadores tenían la misma capacidad de representar
el color, así que el diseño de un sitio web en un color específico,
podía no visualizarse del mismo color en otro ordenador con menos
profundidad de bit. De esta problemática surgió lo que hoy se conoce (o
mas bien se desconoce, porque ya quedó en el olvido) como paleta de
color "Web-Safe".
Paleta de color "Web Safe"
Las tarjetas de video que podían representar millones de colores
abrieron la posibilidad de generar diseños de muchísimos colores, pero
el internet pretende que las páginas web sean vistas en cualquier
ordenador, y NO todas las computadoras tenían esa capacidad. Cuando el
internet se popularizó, todavía existían computadores con profundidad
de color de 8 bits, capaces de representar tan sólo 256 colores. La
solución entonces fué que se generara una paleta de colores que
garantizara que el color que yo seleccionaba para mi página, se viera
igual en todas las pantallas.
¿Cuáles colores se seleccionarían para ser parte de esa paleta web?
Tenían que ser menos de 256 colores para que los monitores de 8 bits
los alcanzaran a representar. Los colores seleccionados, más que
responder a una selecta gama basada en la
percepción del color en el ojo humano, fuéron más bien seleccionados por lo práctico de su representación hexadecimal. Se decidió entonces que los
colores que se representaran en hexadecimal con pares como: 00, 33, 66,
99, CC y FF en cada uno de los canales RGB, serían entonces los que
formarían parte de esta paleta de colores web.
Esta restricción en los posibles valores hexadecimales, reducía el
número de 16 millones de colores a 6 valores para cada canal RGB (6 x 6
x 6) = 216 colores. Las tarjetas de video de 8 bits usarían esta paleta
de colores para representar estos 216 colores que se verían exactamente
igual en todas las computadoras. Los 40
espacios restantes en la paleta estarían
reservadas para alojar colores que usaría el sistema operativo para
presentar elementos de interfaz como ventanas o botones que tendrían un color muy específico (los cuales no necesariamente eran web-safe).
De esta forma, usando esta paleta "Web safe", se podía garantizar
que el diseño mantendría su color en las distintas computadoras que
tenían acceso a la red. Sin embargo, con el rápido avance en la
tecnología, el uso de esta paleta de color se ha vuelto obsoleta, pues
la mayoría de las tarjetas de video actuales son capaces de procesar
una profundidad de 24 bits e incluso de hasta 32 bits, con lo cuál es posible agregar niveles de transparencia a los pixeles, pero ese es tema que veremos en otra ocasión.
Recuerda dejar tus comentarios, preguntas o sugerencias sobre éste artículo para mejorarlo y corregirlo en caso de que la información no sea precisa. Hasta pronto.
Sitios relacionados