IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

RGB hexa est inversé


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut RGB hexa est inversé
    Bonjour,
    J'ai une couleur en hexa stockée dans un string
    ex : _macouleur = "#FF0000"

    J'en ai besoin mais converti en int. J'utilise alors :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string macouleur = ical.Color.Substring(1);
    int _color = int.Parse(macouleur, System.Globalization.NumberStyles.HexNumber);
    Or j'ai remarqué que macouleur était interprété à l'envers !
    pas en RGB mais BGR !
    comme si _macouleur était égale à "#0000FF"

    Quelqu'un a un idée du problème ? merci

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Bonjour,

    Tu ne nous dis pas où tu utilises ton int et ce qu'il contient
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut
    ben le int au initialement null et part dans une classe après
    Mais par exemple si je converti #0000FF (bleu), la variable _color reçoit 255 !
    et si je converti #FF0000 (rouge), la variable _color reçoit 16711680, le bleu

    au pire je vais faire une sorte de fonction qui m'inversera par couple mon hexa mais c'est pas normal que je parte là dessus

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Bah, c'est ce que je pensais, c'est plus l'objet qui interprète que le cast qui déconne.

    Si tu regardes un peu sur internet, l'hexadécimal se transforme en binaire de cette manière :

    #FF0000 =
    F x 10^5 + F x 10^4 + 0 x 10^3 + 0 x 10^2 + 0 x 10^1 + 0 x 10^0

    Avec F = 15.
    #FF0000 doit donc donner un très grand nombre et #0000FF un tout petit. Les valeurs de tes casts sont donc bons. Je pense que le problème vient de l'objet auquel tu passes l'entier.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut
    J'ai fait comme cela :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string c = ical.Color.Substring(1);
    int r = int.Parse(c.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
    int g = int.Parse(c.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
    int b = int.Parse(c.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
    Diviser pour mieux règner
    Merci

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut

    Tu pouvais aussi utiliser la classe


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion couleur RGB en hexa
    Par konogan dans le forum Téléchargez
    Réponses: 0
    Dernier message: 04/10/2011, 13h41
  2. [RegExp] Conversion des couleurs RGB => Hexa dans textarea
    Par alias_is dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/04/2011, 19h15
  3. Comment trier des couleurs (nom, hexa, rgb..) ?
    Par Perplexe dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 14/01/2011, 12h14
  4. Convertion RGB/HEXA et HEXA/RBG
    Par Electroniktor dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 18/05/2008, 01h48
  5. Grand jeu concours "Ou est mon bug? : Repere inversé"
    Par arnolpourri dans le forum DirectX
    Réponses: 10
    Dernier message: 03/04/2008, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo