Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: loustak le Juin 12, 2016, 01:22:47 pm

Titre: std::string vers sf::Color
Posté par: loustak 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.


Titre: Re : std::string vers sf::Color
Posté par: loustak 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;