Pregunta Coincidencia de colores de AppKit y SpriteKit


Estoy construyendo una pequeña aplicación de utilidad para macOS que combina SpriteKit con AppKit. Específicamente, estoy usando un SKView como el "fondo" para la ventana de la aplicación (principalmente para tipos específicos de animaciones que son más fáciles en SpriteKit). También estoy cambiando los colores de la propiedad de fondo de la ventana para ajustar el color de la barra de título. Cambiando entre verde y rojo.

El problema con el que me estoy enfrentando es combinar colores entre AppKit y SpriteKit. En resumen, no coinciden. Como puede ver en la imagen, la barra de título es un poco diferente que la SKView.

enter image description here

Después de tocar un poco, descubrí que el color de fondo en el SKView está en el "espacio de color RGB del dispositivo" y que los colores de la ventana están en "sRGB IEC61966-2.1 colorpace". Cambié los colores de AppKit al dispositivo RGB y los colores aún no coinciden.

Estoy creando los colores con un antiguo inicializador de NSColor.

No estoy seguro de si puede cambiar el espacio de color de un color. La propiedad backgroundColor en la ventana y SKView es de solo lectura.

¿Algunas ideas?


9
2017-09-29 15:57


origen


Respuestas:


Si estoy leyendo esto bien, lo que quieres hacer es combinar colores, ¿no podrías hacer algo como esto? yourAppKit.backgroundColor = yourSKView.backgroundColor eso debería establecerlos en igualdad

y mi segunda pregunta es ¿los necesitas para que coincidan? la mayoría de las veces las personas no se darán cuenta y si se dan cuenta de que realmente no les importará

también aquí hay algunos datos sobre la conversión RGB a sRGB


1
2017-10-07 09:04