Hallo, guten Morgen
ich hab vor, die tatsächliche Bildbreite aus dem geladenen Picture auszulesen und die Formgröße (Form2.width) daran anzupassen.
Funktioniert wohl auch, wenn das Bild kleiner ist, als die Form.
(bild.jpg)
Dumm nur, wenn das geladene JPEG aber 3000 px Breite hat.
(bild_gross.jpg)
Dann wird der Wert nicht mehr zugewiesen.
Sondern irgendein anderer.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var wd, lf : Integer;
begin
{// unwichtig, aber in der Originalunit enthalten.
form2.image1.Top := 0 ;
form2.image1.Left := 0 ;
form2.Shape1.Shape := stEllipse;
form2.Shape1.Shape := stRectangle;
form2.Shape1.Brush.Color := clLime;
form2.image1.picture.Assign(form1.Image1.picture);
form2.image1.Width := form2.image1.Picture.Width;
form2.image1.Height := form2.image1.Picture.Height;
}
wd := form2.image1.Picture.Width; // WD erhhält den korrekten Wert
form2.Width := wd;
if form2.Width <> form2.image1.Picture.Width then
caption := 'zu klein !!!!!!!!!!!'; // 1616 statt 3800
form2.Height := form2.image1.Picture.Height;
caption := inttostr(form2.Width);
end;
Ich hoffe, Ihr schimpft nicht allzusehr.
Wäre aber nett, wenn Ihr mir eine Lösung verraten könntet.
Ich hoffe, da gibt's was.
Danke.