¡Vaya cosas que hace el Photoshop!
Ayer estuve mirando lo que comentas, J.L., y no acabo de pillar la lógica de trabajo del programa.
Intuyo por dónde van los tiros, pero hace algunas cosas incoherentes.
Con 8 bits la cosa es fácil: el blanco 255 y el negro 0. Aprovecha todos los valores posibles de un byte.
Con 16 bits la cosa se complica. Por lo pronto, la conversión de 8 a 16 bits se hace por niveles (como es lógico). O sea, el valor 0 de 8 bits es el 0 de 16bits pero el 1 de 8 bits es el 200 algo de 16 bits. El 2 de 8 bits se convierte en el 500 y pico de 16 bits. Al principio pensé que dividia los 65535 valores posibles entre 256 para asignarselos a cada nivel de 8 bits, pero las cuentas no me salieron. Al final no sé cómo reparte los niveles en la conversión.
Por otro lado, ese 32768 para el blanco carece (para mí) de toda lógica. Lo de que utilice 15 bits en vez de 16 sí puede tener sentido: en el lenguaje de programación usa enteros para representar lo valores de cada componente en vez de números naturales, lo cual le obliga a reducir el número de niveles a justo la mitad de los posibles (perder un bit). Pero eso significaría que el blanco sería el 32767 (el bit más significativo a cero y todos los demás a uno). Que sea el 32768 significa que el bit más significativo está a 1 y todos los demás a 0. Y eso, si usas enteros, es el número -32768. No es lógico y además pierdes toda la coherencia en el manejo de las componentes. Alguna razón habrá, pero no la pillo.
En el caso de los 32 bits la cosa cambia radicalmente. Ya no representa los valores de las componentes como números enteros si no como número reales con el valor 0,000 para el negro y 1,000 para el blanco. Un valor intermedio sería de la forma 0,765 p.e.
Esto es más lógico. Si usara enteros de 32 bits, un valor cualquiera podría necesitar utilizar 9 ó 10 dígitos decimales para ser representado. No sería nada cómodo decir que un pixel tiene las componentes
R= 1.567.7845.999 G=876.983.012 y B= 2.034.789.876
Como creo que Photoshop aún no trabaja con componentes de 32 bits, creo que no hace falta pelearnos para saber cuantos bits utiliza realmente.
Pues nada. Supongo que casi nadie se habrá enterado de qué he dicho en este mensaje
Lo siento.
J.L., si conoces la solución al misterio del 32768, no dudes en contarmelo.
Saludos