Problem bei TImage auf TScrollBox



  • Hallo zusammen,

    ich habe ein TImage auf eine TScrollBox gesetzt. Zu Beginn ist das Image genauso groß wie die Fläche der ScrollBox. Hierin lasse ich dann etwas zeichnen, was auch wunderbar funktioniert. Wenn ich nun mit einem Button die Image->Height und Image->Width verdoppeln lasse so erhalte ich wie erwartet die ScrollBars der ScrollBox. Ich lasse auch das auf die neue Image-Größe skalierte "Bild" neu zeichnen, jedoch wird nur im "ersten Quadranten" gezeichnet der Rest des Bildes bleibt grau, woran kann das liegen?

    Gruss
    Lodo2609



  • Das liegt daran das sich die Bitmapgröße innerhalb des TImages sich nicht
    automatisch mit der TImage größe verändert wenn schon auf dem Canvas gezeichnet wurde.

    Du kannst aber die größe des Bitmaps im TImage per

    TImage1->Picture->Bitmap->Height = TImage1->Height;
    TImage1->Picture->Bitmap->Width = TImage1->Width;
    

    verändern.



  • Hallo,

    ich benutze picture gar nicht, sondern es werden Rechtecke mit

    Image->Canvas->FillRect(Rect(0, 0, Width, Height));
    

    gezeichnet.

    Gruss
    Lodo2609



  • Ähm, und wo meinst du wohin das Canvas hin zeichnet damit es nach einem RePaint
    das gezeichnete wieder darstellen kann? >>>>>>> Ja in ein Bitmap.

    Und jetzt nochmal, was musst du ändern wenn die Zeichenfläche des TImages
    kleiner ist als das TImages selbst? >>>>>>>> Die Bitmapgröße!



  • Hallo! Ich bin über Google hierher gekommen. Mir hat der Hinweis auf die Bitmap sehr geholfen. Danke!


Anmelden zum Antworten