GRAPHICS PROBLEM



  • So...

    Ich habe bereits ein Zeichenfenster mit nem Recheck, Punkten und Strings...
    Jetzt möchte ich auf das Zeichenfenster Punkte malen...

    So wie ich es jetzt mache klappt es :

    for(int i = 0 ; i < gPunkte->Length ; i++){
    	gPunkte[i] = skalieren(factor,gPunkte[i]); // <- Unwichtig
    	gPunkte[i] = transform(gPunkte[i],size,winH,winW); //<-  Unwichtig							
    	e->Graphics->DrawRectangle( gcnew Pen( gcnew SolidBrush(Color::Green) )   ,gPunkte[i].X,gPunkte[i].Y,2.,2.);
    }
    

    Allerdings haben alle Rechtecke ( sollen die Punkte darstellen ) dieselbe Farbe, nämlich grün.

    Was ich jetzt brauche ist eine Möglichkeit, die Rechtecke abhängig von einer Zahl ( double ) einzufärben, ich habs schon mit Color::FromArgb() versucht aber bin noch zu keinem Ergebnis gekommen. Welche möglichkeiten habe ich da noch ??

    Vielen Dank schonmal,
    Leon



  • Nur so als Hinweis zum gezeigten Code, ohne deine Frage gelesen zu haben:
    Pen und SolidBrush sind beides Typen die IDisposable implementieren - in C++/CLI bedeutet das, entweder

    SolidBrush^ brush = gcnew SolidBrush(Color::Green);
    // ...
    delete brush;   // IDisposable::Dispose() wird aufgerufen
    

    oder

    SolidBrush brush(Color::Green);
    // IDisposable::Dispose() wird automatich beim Verlassen des Scopes aufgerufen
    

    zu schreiben.

    Simon



  • Was funktioniert denn mit der Methode FromArgb nicht recht? Damit kommt man an alle darstellbaren Farben. Diese Überladung hier ist genau, was du brauchst.

    @theta: Guter Hinweis 👍



  • alles klar hat sich geklärt,
    das delete verwende ich dann jetzt auch, hatte nur ein kleines Problem mit den RGB Farben....


Anmelden zum Antworten