![]() |
Vergrößern von TImage bzw. Bitmap
Hallo Leutz,
ich will die Größe von eimen TImage bzw. deren Bitmap in der Höhe verändern und darunter per Canvas einen Text ausgeben. Aus welchem Grund auch immer, wird zwar das Image vergrößert, aber jede Ausgabe auf dem Canvas wird mit dem unteren Rand des urprünglichen Bitmaps abgeschnitten. Hier mal ein Beispielcode:
Delphi-Quellcode:
Was im Code vielleicht etwas verwirrend ist, ich habe versucht sowohl auf dem TImage.Canvas als auch auf
pic[I]:=TImage.Create(self);
pic[i].Name:='Pic'+inttostr(i); pic[I].Parent:=scrlbx1; pic[I].Left:=(c*maxb)+10; pic[I].Top:=r+10; pic[I].Width:=jpeg.Width; pic[i].Picture.Bitmap.Assign(jpeg); //Hier will ich mal zum Test einen Kasten ausgeben, //der genau unter dem Bild sitzen sollte pheigth:=jpeg.Height; pic[i].Height:=jpeg.Height+100; rect.Left:=0; rect.Top:=pheigth; rect.Right:=pic[i].Width; rect.Bottom:=pic[i].Height; pic[i].Canvas.Brush.Color:=clRed; pic[i].Canvas.Pen.Color:=clRed; pic[i].Canvas.FillRect(rect); //Ende von dem Test pic[i].Cursor:=crHandPoint; pic[i].Hint:=dm1.q_bilder_laden.fieldbyname('Bildpfad').AsString; pic[i].Tag:=i; pic[i].OnClick:=Image1Click; pic[i].OnDblClick:=Image1DblClick; //Und hier sollte der Text mal ausgegeben werden //pheigth:=pic[i].Height; //pic[i].Height:=pic[i].Height+100; rect.Top:=pheigth; rect.Left:=0; rect.Right:=pic[i].Width; rect.Bottom:=pic[i].Height; //die 5 Pixel, die ich von pheigth abgezogen habe, liegen auf dem original Bitmap. Interessanterweise //werden die ausgegeben, aber gleich abgeschnitten. pic[i].Picture.Bitmap.Canvas.TextOut(10,pheigth-5,dm1.q_bilder_laden.fieldbyname('Kommentar').AsString); pic[i].Picture.Bitmap.Canvas.TextRect(rect,0,0,dm1.q_bilder_laden.fieldbyname('Kommentar').AsString); dem TImage.Picture.Bitmap.Canvas zu zeichnen. Der Effekt war aber augenscheinlich gleich. Ich hab jetzt schon alles mögliche ausprobiert, um mir das zu verdeutlichen, aber ich find den Haken nicht. Hat jemand eine Idee? Danke Captnemo |
Re: Vergrößern von TImage bzw. Bitmap
Moin,
beim Vergrößern des Images wird die Zeichenfläche bzw. Canvas nicht vergrößert. Das musst du noch manuell erledigen. Folgendes fällt mir gerade ein:
Delphi-Quellcode:
Image1.Picture.Graphic.Width := Image1.Width;
Image1.Picture.Graphic.Height := Image1.Height; Edit: Hatte mehrere Möglichkeiten gepostet, doch die waren Mist. |
Re: Vergrößern von TImage bzw. Bitmap
:wall:
Hammer ;-) Warum fallen mir so einfach Sachen nicht selbst ein :wall: :wall: :wall: Dank dir für den Tipp. Werd ich gleich mal ausprobieren. |
Re: Vergrößern von TImage bzw. Bitmap
Habs ausprobier.
Hat sowas von funktioniert....vielen Dank :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz