TCanvas Rectangel Problem



  • Guten Morgen zusammen,

    ich habe probleme mit dem zeichnen und einfärben von Rechtecken auf TCanvas.

    Ich erzeuge ein TImage Objekt, zeichne darauf eine Rechteck mit Rectangle und fülle dies mit einer Farbe.
    Wenn ich nun über SetBounds die Größe des TImage Objektes ändere und danach das Rechteck mit vergrößerten Maßen neu zeichnen und einfärben möchte bleibt das Rechteck in seinen alten Maßen.

    Hat jemand schon mal eine ähnliches Problem gehabt ?

    Jede Hilfestellung ist willkommen.

    Bis dann



  • Hi Maam,

    beschreib 'mal genauer was Du machst (groesser male, Image vergroessern ...???) 😕

    Haste 'mal paar genauere Angaben, WAS du machst und WAS genau rauskommt?

    Probier 'mal mit Eigenschaften Stretch und AutoSize, die beeinflussen das stark!!! 😉

    [ Dieser Beitrag wurde am 27.02.2003 um 12:52 Uhr von DerAltenburger editiert. ]



  • Hallo Altenberger,

    Ich erzeuge TImage- Objekte, die ich auf eine bestimmte Größe setzte und über die Funktion Rectangle mit einer Farbe fülle.
    Zu einem späteren Zeitpunkt ändere ich die Größe der TImage- Objekte und möchte dann diese wieder mit Farbe füllen, leider wird aber nur das kleine Rechteck von vorhin mit Farbe gefüllt und nicht das ganze.

    TImage *Image[10]
    for (int i1 = 1; i1 < 10; i1++)
    {
    Image[i1]= new TImage (this);
    Image[i1]->SetBounds (10, 20, 50, 100);
    Image[i1]->Canvas->Brush->Color = clRed;
    Image[i1]Canvas->Rectangle(0, 0, 50, 100);
    }
    ...

    irgendwann später im Prog. vergrößere ich die TImage Zeichenfläche und möchte diese auch wieder einfärben.

    ...
    Image[i1]->SetBounds(10, 20, 100, 200);
    Image[i1]->Canvas->Brush->Color = clBlue;
    Image[i1]Canvas->Rectangle(0, 0, 100, 200);

    nun wird aber das Rechteck aber nur in den kleineren Abmessungen von vorhin eingefärbt. (also nur die Hälfte. Die andere Hälfte bleibt leer)



  • Bitmaps können nicht vergrößert werden.

    Du musst dann das alte löschen und ein neues erzeugen.



  • Es ist tatsächlich an der Einstellung Stretch des TImage- Objektes gelegen.
    Nun funktioniert es einwandfei.

    DANKE nochmals für den Tipp (Altenberger)

    Noch einen schönen Tag
    und viel Spass auf der "Fasnacht", falls ihr so etwas habt.


Anmelden zum Antworten