Zitat von
EWeiss:
Hier ein Bild.. denke so soll es sein oder ?
Nein, leider nicht. Das Image1 ist zweitrangig. Ich will nicht das Bild im Programm ausgeben. Das macht doch TImage allein passend, wenn man die Eigenschaften richtig setzt.
Ich möchte:
1. Bild laden (egal welche Größe)
2. vergrößern oder verkleinern auf 1660x2340 (= DINA4 bei 200 dpi)
3. DINA4-Bild abspeichern
Und so klappt es jetzt endlich, auch wenn Du erster warst:
Delphi-Quellcode:
Procedure TForm1.Button5Click(Sender: TObject);
Var
H,B : Integer;
Quelle,Ziel : TImage;
Begin
If OpenDialog1.Execute Then
Begin
Quelle:=TImage.Create(self);
Ziel:=TImage.Create(self);
Try
Quelle.Picture.Bitmap.LoadFromFile(OpenDialog1.FileName);
B:=Quelle.Picture.Bitmap.Width;
H:=Quelle.Picture.Bitmap.Height;
If H>B Then
Begin
Ziel.Width:=1660;
Ziel.Height:=2340;
StretchBlt(Ziel.Canvas.Handle, // Ziel
0,0,1660,2340, // Ziel Ausmaße
Quelle.Canvas.Handle, // Quelle
0,0,B,H, // Ausmaße Quelle
SRCCOPY)
End
Else
Ziel.Width:=2340;
Ziel.Height:=1660;
StretchBlt(Ziel.Canvas.Handle, // Ziel
0,0,2340,1660, // Ziel Ausmaße
Quelle.Canvas.Handle, // Quelle
0,0,B,H, // Ausmaße Quelle
SRCCOPY);
Ziel.Picture.Bitmap.SaveToFile(OpenDialog1.FileName+'_neu.bmp');
Finally
Quelle.Free;
Ziel.Free;
End;
End;
End;
Danke an alle, die so aktiv mitgedacht haben!!!