Différence de couleur entre une page web et l'application

heliohelio Membre

Bonjour à  tous,


J'utilise l'instruction :



self.tableView.backgroundColor = UIColor(red:0.04, green:0.20, blue:0.26, alpha:1.0)

cela correspond au code HEX : #093342


 


mais j'ai une différence entre ce que je vois sur une page web et mon application.


 


Vous avez déjà  eu ce problème ?


 


Merci.


Réponses

  • LarmeLarme Membre
    mai 2017 modifié #2

    #093342, ça donne : R:9 G:51 G 66, ce qui donne de petites différences avec tes valeurs. fais-tu pas directement 


    UIColor(red:9/255., green:51/255., blue:66/255., alpha:1.0) ?


     


    Sinon, as-tu essayé avec l'inspecteur de vue XCode pour voir si tu n'as rien au-dessus qui pourrait légèrement modifier la couleur ?


    Comment sais-tu que la couleur est différente ?


  • heliohelio Membre

    Merci, mais comment cela fonctionne l'inspecteur de vue XCode dont tu parles ?


    et la différence je m'en aperçois par rapport à  ce que me donne le site http://uicolor.xyz/#/hex-to-ui,


    la couleur est plus claire dans mon application !

  • LarmeLarme Membre

    Pour debugger la view hiérarchie : https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/special_debugging_workflows.html


     


     


    Sinon, ton site-web, tu le regardes sur ton device ?


  • CéroceCéroce Membre, Modérateur
    mai 2017 modifié #5

    Il y a la différence constatée par Larme (ça devrait donner 0x0A3342),.


    Il semble que l'espace colorimétrique sRGB soit utilisé sur le web.


     


    D'après la doc UIColor(), la méthode init() utilise également sRGB, mais seulement depuis iOS 10. Sur une version antérieure, elle utilise l'espace colorimétrique du "device", donc pas calibré, et on peut avoir des différences. 


     


    (Peut-être qu'on peut passer par CGColor et CGColorSpace sur les versions antérieures pour utiliser du sRGB, je ne me souviens plus si c'est possible sur iOS).


Connectez-vous ou Inscrivez-vous pour répondre.