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 :

[C#] fonction inverse de Color.ToString().


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut [C#] fonction inverse de Color.ToString().
    Bonjour à tous!

    Je travaille sur un programme qui sauve les couleurs choisies par l’utilisateur sous forme de string dans une RichTextBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         if (colorDialog1.ShowDialog() == DialogResult.OK)
                {
                    Color c = colorDialog1.Color; 
                    script.Add(c.ToString());
                }
    J’obtients par exemple les chaines suivantes:

    Color [Red]
    Color [A=255, R=121, G=60, B=196]

    Mon problème est de recréer une color à partir d’une string lue dans mon fichier text. Il me faudrait une fonction inverse de Color.ToString().
    Du genre de la fonction StringToColor suivante utilisé pour affecter une valeur à la variable c:

    Color c=StringToColor(“Color [A=255, R=121, G=60, B=196])”);

    Cette fonction existe t-elle dans C# ou faut il la créer ?

    D’avance Merci.

  2. #2
    En attente de confirmation mail
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Points : 669
    Points
    669
    Par défaut
    Les fonctions existent déjà ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaCouleur = Color.FromName(NomDeCouleur)

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaCouleur = Color.FromArgb(A,R,G,B)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    Merci pour ta réponse!
    Et merci à C# pour avoir prévu la fonction...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut Une petite déception!
    Bonjour à tous!

    En testant la fonction Color.FromName avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
               if (colorDialog1.ShowDialog() == DialogResult.OK)
                {
                    Color c1 = colorDialog1.Color; 
                    string c1str = c1.ToString();
                    script.Add(c1str);
                    Color c2 = Color.FromName(c1str);
                    string c2str = c2.ToString();
                    script.Add(c2str);
                              }
    J'obtiens des résultats du type :
    Color [Yellow]
    Color [Color [Yellow]]

    ou :

    Color [A=255, R=128, G=128, B=255]
    Color [Color [A=255, R=128, G=128, B=255]]

    D'où ma petite déception...

  5. #5
    En attente de confirmation mail
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Points : 669
    Points
    669
    Par défaut
    Ne t'occupe pas du nom de la couleur, mémorise Argb :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (colorDialog1.ShowDialog() == DialogResult.OK)
    {
        Color c1 = colorDialog1.Color; 
        string c1str = c1.ToArgb.ToString();
        script.Add(c1str);
     
        //ici 
        Color c2 = Color.FromArgb(Int(c1str));
        string c2str = c2.ToArgb.ToString();
        script.Add(c2str);
    }

    P.S. : Je suis pas sur de la syntaxe du Cast en Integer en rouge :/
    (Dès que j'ai le temps, je mis mets à c# ... promis ... :p)

  6. #6
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Citation Envoyé par Kelpan
    Dès que j'ai le temps, je mis mets à c# ... promis ... :p
    Oui c'est urgent

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
          int code;
         if (Int32.TryParse(c1str, out code))
         {
            Color c2 = Color.FromArgb(code);
            string c2str = c2.ToArgb.ToString();
            script.Add(c2str);
        }

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    Merci à tous les deux . Je pense avoir capté...

  8. #8
    En attente de confirmation mail
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Points : 669
    Points
    669
    Par défaut
    Citation Envoyé par kelpan
    (Dès que j'ai le temps, je mis mets à c# ... promis ... :p)
    (Dès que j'ai le temps, je m'y mets à c# ... promis ... :p)
    Désolé, y a du relachement et de la fatigue ...

    Citation Envoyé par mehdi_tn
    Dernière modification par mehdi_tn Hier à 01h21. Motif: Coloration syntaxique (evitez le formatage dans la balise code)
    Pas compris ???
    Qu'ai-je fais comme bétise ?

  9. #9
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Bonjour,

    Je t'invite à consulter ce fil : Coloration syntaxique sur le forum.

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

Discussions similaires

  1. fonction inverse de trim()
    Par lexu1213 dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2007, 16h00
  2. fonctions inverse en c
    Par deboraya dans le forum C
    Réponses: 8
    Dernier message: 18/10/2006, 14h21
  3. Fonction inverse de ASCII
    Par noirot dans le forum Oracle
    Réponses: 1
    Dernier message: 15/06/2006, 15h30
  4. Fonction inverse de InttoHex
    Par marsupilami34 dans le forum Langage
    Réponses: 11
    Dernier message: 06/07/2005, 15h04
  5. [VB6]fonction inverse de Hex (nombres hexadécimaux)
    Par Guigui_ dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 19h31

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