![]() |
Bilddatei verkleinert in ein TImage laden
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe eine Bilddatei mit einer Variablen Größe! Diese Bilddatei kann Hochformat, Querformat oder ein Quadrat sein. Beispiel: Hochformat: Filename : Katze.jpg Width : 50 Pixel Height : 100 Pixel Querformat: Filename : Maus.jpg Width : 100 Pixel Height : 50 Pixel Quadrat: Filename : Hund.jpg Width : 100 Pixel Height : 100 Pixel Width und Height können aber auch andere Werte haben. Wie schon gesagt, es ist Variabel. Nun will ich diese Bilddatei in ein TImage laden. Das TImage hat eine Feste größe. Beispiel (TImage): Hochformat: Width : 75 Height : 100 Querformat: Width : 100 Height : 75 Quadrat: Width : 100 Height : 100 Das sind die Größe, die diese Komponente haben kann. Bis dahin, habe ich gar kein Problem.
Delphi-Quellcode:
Also das funktioniert schon mal. Nun möchte ich noch zusätzlich die größere Bilddatei in mein Image laden. Viele denken nun bestimmt, dass ist doch ganz einfach. Es gibt ja bei Image Komponenten die Möglichkeit die Eigenschaft Proportional auf True zu setzen. Das kann ich leider nicht verwenden, weil ich zusätzlich noch andere Grafiken in das TImage kopieren möchte. Ich habe dazu mal ein kleines Bild gemalt. Achso, die Eigenschaft Proportional kann ich nicht verwenden, weil die Bilddatei da auf das komplette TImage ausgerichtet wird. Ich möchte meine Bilddatei nicht in ein ganzes TImage laden, sondern nur in einen bestimmten Teil. Der restliche, freie Teil soll mit anderen Grafiken gefüllt werden.
// square
if Bitmap.Width = Bitmap.Height then begin Image.Width:=100; Image.Height:=100; end; // landscape format if Bitmap.Width > Bitmap.Height then begin Image.Width:=100; Image.Height:=75; end; // portrait format if Bitmap.Width < Bitmap.Height then begin Image.Width:=75; Image.Height:=100; end; Nun die eigentliche Frage: Wie kann ich soetwas machen? Mit freundlichen Grüßen Christian18 |
Re: Bilddatei verkleinert in ein TImage laden
Guck dir mal die StretchDraw-Methode des TBitmap/TCanvas an. Damit kannst du Bilder skaliert kopieren.
|
Re: Bilddatei verkleinert in ein TImage laden
Hallo,
ich denke damit hast du mir geholfen. Ich werde das aber erst morgen probieren. Bin jetzt ein bisschen zu müde dazu. Also, nochmals vielen danke. MFG Christian18 |
Re: Bilddatei verkleinert in ein TImage laden
Hallo,
irgendwie habe ich damit doch probleme. Hat jemand vieleicht ein kleines Beispiel? |
Re: Bilddatei verkleinert in ein TImage laden
Versuch es mal mit sowas
Delphi-Quellcode:
Mit StretchDraw kannst du die einkopierte Grafik auch noch verkleinern oder vergößern. Etwa mit:
procedure TForm1.Button1Click(Sender: TObject);
Var bmp: TBitmap; begin bmp := TBitmap.Create; try bmp.LoadFromFile('test.bmp'); Image1.Canvas.StretchDraw(Rect(10,5,bmp.Width, bmp.Height), bmp); finally bmp.Free; end; end;
Delphi-Quellcode:
...
Image1.Canvas.StretchDraw(Rect(10,5,bmp.Width Div 2, bmp.Height Div 2), bmp); ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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 by Thomas Breitkreuz