Color incorrecto en Interface Builder

El problema: configuré un color en Interface Builder, establecí los canales RGB, luego hice una captura de pantalla de la ventana de trabajo, la abrí en Photoshop y verifiqué el color por el selector de color, que configuré en Interface Builder. El resultado: los valores RGB son diferentes de los que configuré.

Video: http://www.youtube.com/watch?v=ASLfnYHPbqM

Lo más anormal comienza con el 45º segundo, cuando traté de usar el selector de color del Interface Builder. Muestra que los valores RGB son diferentes de los que tengo en él iguales e instalados), pero los valores de olol picker IB coinciden con los valores del selector de color Photoshop.

Apple piensa que es mucho más importante que los colores se vean iguales en todas partes que los colores tienen los mismos valores RGB en todas partes. Mira, los mismos valores RGB no se verán igual en pantallas diferentes, porque cada pantalla tiene características de visualización diferentes.

Por lo tanto, cuando toma una captura de pantalla, Apple no solo almacena un valor RGB para cada píxel en la imagen, sino que también almacena las características de visualización de su monitor dentro del archivo de imagen. ¿Para qué sirve eso? Si alguien más abre su captura de pantalla, el sistema puede observar las características del monitor de la persona que lo creó, compararlas con las características del monitor del monitor de la persona que desea verlo, y luego puede calcular cómo debe adoptar el RGB. valores en la imagen para que la imagen se vea igual en el monitor actual. Si solo mostraba los valores RGB sin hacer nada de esto, los colores de la imagen pueden verse mal (en algunos casos solo ligeramente, en algunos casos un poco más, y si el usuario tiene un monitor muy malo, en algunos casos incluso radicalmente incorrecto) .

Entonces, el sistema envía diferentes valores RGB al adaptador de gráficos, porque los colores RGB por sí mismos no describen realmente un color. Los valores RGB junto con un perfil de monitor describen un color y no los valores RGB son importantes, el color es importante. Si hago algo rojo, quiero que sea del mismo tono rojo en cada monitor. No quiero que sea un rojo más oscuro en un monitor, un rojo más claro en otro monitor y un rojo casi rosado en un tercer monitor.

El problema con Photoshop es que tiene su propio mecanismo de corrección de color incorporado. Photoshop generalmente funciona en sRGB (espacio de color RGB estándar) o Adobe RGB (un espacio de color extendido que Adobe inventó). Cuando carga una imagen que no está dentro del espacio de color deseado, Photoshop transformará el espacio de color de la imagen y cada transformación de espacio de color ocasiona que los valores RGB cambien. Tenga en cuenta que las imágenes mostradas en Photoshop aún se corrigen según las características de color actuales de su monitor, solo son los valores RGB que manipula dentro de Photoshop que están en otro espacio de color y cuando se almacenan nuevamente en un archivo, Photoshop transformará los valores o los mantendrá e insertará un nuevo perfil de color en el archivo de imagen.

Los tiempos donde RGB solo se ha utilizado para describir los colores han terminado desde hace muchos años. Hoy RGB es bastante insignificante por sí solo, solo cuando se combina con un perfil de color se vuelve realmente significativo al describir un color real.

Si desea una captura de pantalla sin un perfil de color real incrustado, haga lo siguiente:

  1. Abra “Preferencias del sistema”
  2. Ir a “Pantallas”
  3. Ve a “Color”
  4. Seleccione “Perfil RGB genérico”
  5. Haz tu captura de pantalla
  6. Cambia tu perfil de vuelta

Puede ser necesario salir primero de Xcode antes de cambiar el perfil (y reiniciarlo después de haberlo cambiado), ya que no estoy seguro de si el cambio del perfil tendrá un efecto inmediato. Ciertamente tiene un efecto inmediato de cómo se muestran las cosas en su monitor, pero si desea elegir un color en Xcode seleccionando valores RGB específicos, no estoy seguro de si un cambio de perfil tendrá un efecto inmediato aquí (puede darlo una prueba sin reiniciar, si eso no funciona, debe repetirlo reiniciando).

Sin embargo, esto aún puede causar colores incorrectos en Photoshop, ya que Photoshop aún puede convertir los colores a sRGB o Adobe RGB. Por lo tanto, en lugar de seleccionar “Perfil genérico RGB”, es posible que desee seleccionar el perfil “sRGB” (dependiendo de su versión de OS X, también se puede llamar “sRGB IEC61966-2.1”). De esta forma, la imagen ya está en el espacio de color sRGB. Solo tiene que convencer a Photoshop para que siga así (y no para convertirlo a Adobe RGB) y verá los mismos valores RGB en Xcode y Photoshop.

Tenga en cuenta cómo cambiar el perfil de color hace que su pantalla se vea de manera bastante diferente. ¿Crees que el cambio de color es dramático? Créanme, eso no es nada en comparación con la forma en que diferentes monitores a veces pueden cambiar los colores. Tal vez ahora pueda entender por qué la corrección del color es tan importante. Entonces la pregunta es, ¿por qué los valores RGB son tan importantes para ti en primer lugar? ¿Realmente importa, que los valores RGB son los mismos, siempre y cuando el color mostrado sea el mismo?

Esta es la guía que funciona, simplemente siga estos pasos y puede configurar UIColor programáticamente y hacer que coincidan los colores de una captura de pantalla.

enter image description here