Je tente de convertir une chaîne contenant une couleur dans l'espace colorimétrique RVB générique en UIColor dans Swift. Par exemple, une chaîne typique ressemblerait à ceci:Init Générique RVB dans Swift
0.121569 0.129412 0.156863 1
Utilisation du sélecteur de couleur dans Mac OS, j'ai découvert que ces valeurs utilisent l'espace colorimétrique RVB générique.
Cependant, lorsque je tente de convertir ces valeurs en UIColor, il utilise l'espace colorimétrique sRGB.
let red = CGFloat((components[0] as NSString).doubleValue)
let green = CGFloat((components[1] as NSString).doubleValue)
let blue = CGFloat((components[2] as NSString).doubleValue)
let alpha = CGFloat((components[3] as NSString).doubleValue)
print(UIColor(red: red, green: green, blue: blue, alpha: alpha))
// Log Result: NSCustomColorSpace sRGB IEC61966-2.1 colorspace 0.121569 0.129412 0.156863 1
Par conséquent, une couleur différente est affichée dans mon application. Je confirme en changeant l'espace de couleur dans Color Picker à IEC61966-2.1 et différentes valeurs affichées en effet:
Toute idée comment je convertir les valeurs RVB génériques dans les valeurs UIColor correctes?
EDIT Pour plus de précisions, je suis incapable de changer les valeurs de couleur dans la chaîne dans un autre système que je lis les couleurs à partir d'une source externe dans un fichier XML
Vous voulez dire les bonnes valeurs UIColor? NSColor c'est OS X seulement –