Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: std::string vers sf::Color  (Lu 1856 fois)

0 Membres et 2 Invités sur ce sujet

loustak

  • Newbie
  • *
  • Messages: 13
    • Voir le profil
std::string vers sf::Color
« le: Juin 12, 2016, 01:22:47 pm »
Bonjour,
J'aimerais créer des couleurs depuis un fichier texte. Pour l'instant j'arrive à correctement récupérer le texte en code couleur donc par exemple 255 255 255 pour du blanc. Mais ensuite je veux me servir de ça pour créer une couleur sfml mais ça ne fonctionne pas... Voici mes différents essais :
// Méthode 1 : Avec la conversion en décimal
std::string s = "16777215";
std::string::size_type sz;
int c = std::stoi (s, &sz);
sf::Color color(c);
//Affichage des composante rgb :
//Affichage de la valeur décimal : 0

// Méthode 2 : Avec la conversion via les stringstream
std::string s = "255";
std::stringstream ss(s);
int r, g, b:
ss >> r;
ss >> g;
ss >> b;
sf::Color color(r, g, b);
//Affichage des composante rgb :   � �
//Affichage de la valeur décimal : 16744703

// Méthode 3 : Avec la conversion via atoi
std::string s("255");
int r = atoi(s.c_str())
int g = atoi(s.c_str())
int b = atoi(s.c_str())
sf::Color color(r, g, b);
//Affichage des composante rgb :   C �
//Affichage de la valeur décimal : 4437247

(j'ai aussi essayé le cast vers un sf::Uint8 mais sans succès...)

Voilà quelque soit la méthode utilisé les composante r, g, b ne sont jamais bonne...
Comment résoudre ce problème ?

Merci de votre aide.



loustak

  • Newbie
  • *
  • Messages: 13
    • Voir le profil
Re : std::string vers sf::Color
« Réponse #1 le: Juin 12, 2016, 01:39:46 pm »
Okay, alors enfait c'était juste un problème d'affichage :
std::cout << unsigned(color.g) << std::endl;