Color incorrecto en Interface Builder

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

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

La mayoría de las anormalidades comienzan con el 45º segundo, cuando intenté usar el selector de color del Interface Builder. Muestra que los valores RGB son diferentes de los que tengo en él y están instalados), pero los valores del selector de color IB coinciden con los valores del selector de color Photoshop.

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

Entonces, cuando tomas una captura de pantalla, Apple no solo almacena un valor RGB por cada píxel en la image, sino que también almacena las características de visualización de tu monitor dentro del file de image. Para que sirve? Si alguien abre la captura de pantalla, el sistema puede ver las características del monitor de la persona que lo creó, compararlas con las características del monitor del monitor de la persona que quiere verla y luego calcular cómo debe adoptar el RGB valores en la image para que la image se vea igual en el monitor actual. Si solo se mostraran los valores RGB sin hacer nada de esto, los colors de la image pueden parecer incorrectos (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) .

Por lo tanto, el sistema envía diferentes valores RGB al adaptador de charts, porque los colors RGB por sí mismos en realidad no describen 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 el mismo tono de 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 que es casi rosa en un tercer monitor.

El problema con Photoshop es que tiene su propio mecanismo de corrección de color. Photoshop generalmente funciona en sRGB (espacio de color RGB estándar) o Adobe RGB (un espacio de color ampliado que Adobe inventó). Cuando carga una image que no está dentro del espacio de color deseado, Photoshop transformará el espacio de color de la image y cada transformación del espacio de color hará que cambien los valores RGB. Tenga en count que las imágenes que se muestran en Photoshop siguen estando corregidas por el color de acuerdo con las características de color actuales de su monitor; son solo los valores RGB que manipula en Photoshop que están en otro espacio de color y cuando se almacenan de nuevo en el file, Photoshop transformará los valores o los saveá e incrustará un nuevo perfil de color en el file de image.

Los times en los que RGB solo se ha utilizado para describir los colors ya han terminado durante muchos años. Hoy en día RGB no tiene sentido 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 verdadero perfil de color embedded, haga lo siguiente:

  1. Abra "Preferences del sistema"
  2. Vaya a "Muestra"
  3. Ir a "Color"
  4. Seleccione "Generic RGB Profile"
  5. Haga su captura de pantalla
  6. Cambia tu perfil atrás

Puede que sea necesario salir de Xcode primero antes de cambiar el perfil (y reiniciarlo después de que lo haya vuelto a cambiar), ya que no estoy seguro de si cambiar el perfil tiene 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í también (puede darle un bash sin reiniciar, si eso no funciona, debes repetirlo con reiniciar).

Sin embargo, esto puede causar colors incorrectos en Photoshop, ya que Photoshop aún puede convertir los colors a sRGB o Adobe RGB. Entonces, en lugar de seleccionar "Generic RGB Profile", 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 image ya está en el espacio de color sRGB. Solo tienes que convencer a Photoshop para que lo mantenga así (y no convertirlo a Adobe RGB) y luego verás los mismos valores RGB en Xcode y Photoshop.

Tenga en count cómo cambiar el perfil de color hace que su pantalla se vea de manera diferente. ¿Crees que el cambio de color es espectacular? Confía en mí, eso no es nada en comparación con cómo diferentes monitores a veces pueden cambiar los colors. Tal vez ahora pueda comprender 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? ¿Importa realmente que los valores RGB sean los mismos, siempre que el color mostrado sea el mismo?

Esta es la guía que funciona, simplemente siga estos pasos y puede progtwigr UIColor de manera progtwigda y hacer que coincidan con los colors de una captura de pantalla.

introduzca la descripción de la imagen aquí