TImage zur Laufzeit vergrößern
-
Hi!
Ich bin grad dabei ein kleines Programm mit grafischem Log zu schreiben.
Das klappt.
Nur leider weis ich nicht, was ich noch einstellen muss, damit der Canvas bei dem vergrößern des bildes in der Breite auch mit vergrößert wird.Das Bild wird zwar größer, aber es kommt nur eine graue fläche hinzu! Das was dahin gezeichnet wird, erscheint nicht...
Is bestimmt ganz simpel, aber ich komm net drauf
Img_Stat->Canvas->Width
gibts ja leider nicht.
Danke für die Hilfe
-
schau mal unter Stretch in der BCB-Hilfe
-
TRect newRect; newRect.Left = 0; newRect.Top = 0; newRect.Right = Img_Stat->Width; newRect.Bottom = Img_Stat->Height; Img_Stat->Canvas->StretchDraw(newRect,Img_Stat->Picture->Graphic);
So hab ich das versucht...
klappt aber net.
Dann ahb ich noch das Versucht:Img_Stat->Canvas->DrawFocusRect(newRect);
Wobei ich net weis was dieser befehl so richtig macht
aber zumindest funktionieren beide so nicht!
-
Mach doch bitte mal das was Linnea gesagt hat. Stretch ist eine Eigenschaft von TImage und erzeugt genau das Verhalten was du willst.
-
Der Canvas zeichnet auf einem Bitmap das die Größe erhällt vom TImages. Wenn sich nachträglich die Größe verändet nachdem du schon darauf gezeichnet hast musst du die Bitmapgröße händisch anpassen.
Img_Stat->Picture->Bitmap->Width Img_Stat->Picture->Bitmap->Height
-
OMG
DANKE XD
Ich dachte Linnea verweist auf eine Eigenschaft von Canvas! Daher hab ich das mit StrechDraw versucht!
Jetzt scheint alles zu gehen. Vielen herzlichen dank!
Einfach die Eigenschaft auf true gesetzt und fertignaje, net so richtig!
Das bereits gezeichnete Bild wird gestreckt!
Und das was ich neu reinmale erscheint nicht!
:<edit:
Danke!
mit dem anpassen des Bitmaps hats dann hingehauen!