tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
2262
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Snipero Snipero ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Beiträge
    29
    Hallo Leute,
    ich hoffe ihr könnt mir helfen!
    Ich benutze ein Image als Zeichenfeld und möchte nun per Button die Canvas/Strich Farbe ändern.
    Wenn ich allerdings auf den Button (In diesem Fall den Roten) diesen Code lege:

    Code :
    1
    
    Image1->Canvas->Pen->Color = clRed ;

    Dann passiert garnichts!
    Die Strichfarbe bleibt weiterhin Schwarz...

    Was mache ich falsch oder was muss ich ändern, bitte um Hilfe!

    MFG:
    Snipero2
     

  2. #2
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Hallo,

    du legst aber die Farbe vor dem Zeichnen der Linie(oder was auch immer) fest, oder?

    Ansonsten müsste es eigentlich gehn.

    Code :
    1
    2
    3
    4
    
         Image1->Canvas->Pen->Color = clRed;
         Image1->Canvas->MoveTo(100,50);
         Image1->Canvas->LineTo(50,50);
         Image1->Canvas->LineTo(50,100);
    Das hier funktioniert bei mir...

    MfG Turri
     

  3. #3
    Snipero Snipero ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Beiträge
    29
    Ja, soweit funktionert das bei mir ja auch!
    Aber ich habe den Strich auf dem Image feld von Mousdown zu MouseUp, der ja auch normal in Schwarz durchgeführt werden soll.

    Nur wenn ich zwischen durch lediglich für einige Striche die Farbe wechseln möchte..
    Ich habe mehrere Buttons (Rot Blau Grün...)

    Und dein Beispiel ist nur für feste Positionen.

    ...
     

  4. #4
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Wie sieht der Quellcode für deinen Rot-Button aus?
    Kannst du den mal posten?
     

  5. #5
    Snipero Snipero ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Beiträge
    29
    Quellcode des Image:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    void __fastcall TForm1::Image12MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    StartX = X+9;
    StartY = Y+39;
    }
     
    void __fastcall TForm1::Image12MouseUp(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    Canvas->MoveTo(StartX, StartY);
    Canvas->LineTo(X+9, Y+39);
    }

    Und der des Buttons:

    Code :
    1
    2
    3
    4
    
    void __fastcall TForm1::Image9Click(TObject *Sender)
    {
    Image1->Canvas->Pen->Color = clRed ;
    }
     

  6. #6
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    probiers mal so:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    __fastcall TForm1::TForm1(TComponent* Owner)
         : TForm(Owner)
    {
           c = clBlack;      // in die Header noch TColor c;
    }
     
    void __fastcall TForm1::Image12MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
          StartX = X+9;
          StartY = Y+39;
    }
     
    void __fastcall TForm1::Image12MouseUp(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
          Canvas->Pen->Color = c;
          Canvas->MoveTo(StartX, StartY);
          Canvas->LineTo(X+9, Y+39);
    }

    und der Button:
    Code :
    1
    2
    3
    4
    
    void __fastcall TForm1::Image9Click(TObject *Sender)
    {
             c = clRed ;
    }

    Ich habs nich ausprobiert, aber vermute der hat so deinen Farbwechsel nur "vergessen".
    Würdest du direkt im Button-Click Event noch irgendwas zeichen würde es funktionieren.
    Durch die globale TColor c; Variable müsste er deine Farbe jetzt eigentlich immer und überall kennen
    Bei deinen anderen Button's musst du das entsprechend anpassen.

    MfG Turri
     

  7. #7
    Snipero Snipero ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Beiträge
    29
    Ja, Perfekt!
    Danke, genaus so habe ich das gedacht

    Ich habe es zwar auch schon einmal mit einer Variablen versucht, hatte diese allerdings als String deklariert

    MFG:
    Snipero2
     

  8. #8
    ai-gamecock Tutorials.de Gastzugang
    hi
    falls es dich noch interessiert, wo der fehler lag:
    die MouseUp und MouseDown-Prozeduren sind in Image12 und die farbänderung findet in Image1 statt. ausser du hast einen anderen code hier angegeben als du im builder hast
     

Ähnliche Themen

  1. AC3 Farbe Ändern
    Von ray2mi im Forum Flash Plattform
    Antworten: 8
    Letzter Beitrag: 06.12.09, 16:28
  2. Farbe ändern
    Von roodje im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 18.11.09, 19:18
  3. Antworten: 1
    Letzter Beitrag: 20.06.04, 18:17
  4. farbe ändern 1 zu 1 ?
    Von DJMoscito im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 25.02.03, 20:04
  5. Farbe ändern
    Von Slater im Forum PHP
    Antworten: 3
    Letzter Beitrag: 22.01.03, 13:43