Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bitmap.Assign klappt nicht (https://www.delphipraxis.net/95085-bitmap-assign-klappt-nicht.html)

Yheeky 30. Jun 2007 15:26


Bitmap.Assign klappt nicht
 
Hi,

ich möchte mehrere Bilder zu einem großen zusammensetzen und es in eine andere Komponente kopieren. Dies wollte ich wiefolgt machen:

Delphi-Quellcode:
Temp := TBitmap.Create;
imgLinks := TBitmap.Create;

imgLinks.LoadFromFile('C:\imglinks.bmp');
In Image1 soll das Bild nun gezeichnet werden.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Temp.Canvas.StretchDraw(Rect(0, 0, imgLinks.Width, imgLinks.Height), imgLinks);
Image1.Picture.Bitmap.Assign(Temp);

end;
Darin erscheint es aber nicht. Kann mir jemand sagen was ich falsch mache?

Danke!

Bernhard Geyer 30. Jun 2007 15:35

Re: Bitmap.Assign klappt nicht
 
Ist den in Image1.Picture.Bitmap schon ein Bitmap geladen?
Delphi-Quellcode:
Image1.Picture.Bitmap := Temp;
sollte besser funktionieren. Das Bitmap ein Property ist wird imm Hintergrund schon das richtige gemacht (Hoffe ich doch da nicht getestet).

Yheeky 30. Jun 2007 15:39

Re: Bitmap.Assign klappt nicht
 
Nein es ist noch kein Image in Image1 geladen...deine Zeile funktioniert leider auch nicht.

bitsetter 30. Jun 2007 16:47

Re: Bitmap.Assign klappt nicht
 
Hi,

die Breite und die Höhe des Bildes hast du anscheinend noch nicht gesetzt.
Delphi-Quellcode:
 Temp := TBitmap.Create;
imgLinks := TBitmap.Create;

imgLinks.LoadFromFile('C:\bild.bmp');

Temp.Width:= imgLinks.Width;
Temp.Height:= imgLinks.Height;

Yheeky 30. Jun 2007 17:04

Re: Bitmap.Assign klappt nicht
 
Super, das war´s! Danke schön! :)

Muetze1 30. Jun 2007 17:18

Re: Bitmap.Assign klappt nicht
 
Zitat:

Zitat von Bernhard Geyer
Ist den in Image1.Picture.Bitmap schon ein Bitmap geladen?
Delphi-Quellcode:
Image1.Picture.Bitmap := Temp;
sollte besser funktionieren. Das Bitmap ein Property ist wird imm Hintergrund schon das richtige gemacht (Hoffe ich doch da nicht getestet).

Das kann nicht besser funktionieren, da es das Gleiche ist wie

Delphi-Quellcode:
Image1.Picture.Bitmap.Assign(Temp);
Die Bitmap Property hat ihre eigene Instanz intern und lässt sich diese nicht einfach mal so mit einer fremden überschreiben sondern ruft intern nur ein Assign() auf. Von daher sind beide Zeilen identisch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz