Color --> String --> Color



  • Hi,

    Color bietet mir ja die Methode "ToString" um die Farbe leserlich darzustellen. Jetzt möchte ich aus diesem String wieder eine Farbe generieren, doch das geht nicht:

    class Program
        {
            static void Main (string[] args)
            {
                Color colorOne = Color.FromArgb (255, 46, 0, 0);
    
                // Ergibt: "Color [A=255, R=46, G=0, B=0]"
                string colorString = colorOne.ToString ();
    
                Color colorTwo = Color.FromName (colorString);
    
                if (colorTwo.R == 46)
                    Console.WriteLine ("Alles fein!");
                else
                    Console.WriteLine ("Fehler!");
    
                Console.ReadLine ();
            }
        }
    

    Leider gibt es keine Methode namens "FromString" oder so und colorTwo.R hat den Wert 0. 😞

    Jemand eine Idee?



  • Color.FromName benötigt einen Namen, der einem Member der Enumeration KnownColor darstellt.



  • Wenn es unbedingt ein String sein muss, würde Folgendes funktionieren:

    Color colorOne = Color.FromArgb( 255, 46, 0, 0 );
    
          string colorString = colorOne.ToArgb( ).ToString( );
    
          Color colorTwo = Color.FromArgb( int.Parse( colorString ) );
    

Anmelden zum Antworten