Hallo liebe Delphi Community!
Ich bin gerade dabei mir ein Programm zu schreiben, dass Bilder in einem Ordner alle auf die gleiche Breite bringt und die Höhe anpasst. Das klappt auch soweit , allerdings nur mit Bitmaps, denn ich verwende Stretchdraw.
Jetzt meine Frage: Wie kann ich das mit Jpegs machen?
Hier mein Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| procedure TForm1.BitBtn2Click(Sender: TObject); var z,br,ho,newho,newbr:integer; quot:real; begin button1.Enabled:=false; if not fileexists(pfad+'\'+'ImageSizer_Output') then createdir(pfad+'\'+'ImageSizer_Output'); for z:=0 to listbox2.Count-1 do begin image1.Picture.LoadFromFile(Listbox2.Items[z]); showmessage('geladen'); br:=image1.picture.Graphic.Width; ho:=image1.picture.Graphic.Height;showmessage('br,ho angepasst'); showmessage(inttostr(br)); quot:= strtofloat(edit3.Text)/ br; showmessage('quot angepasst'); showmessage(floattostr(quot)); newho:= round(quot*ho); newbr:= strtoint(edit3.Text);showmessage(inttostr(newbr)); showmessage(inttostr(newho)); image1.Canvas.StretchDraw(Rect(0,0,newbr,newho),image1.Picture.Graphic);image1.picture.Graphic.Width:=newbr;image1.Picture.Graphic.Height:=newho; image1.Picture.SaveToFile(pfad+'\'+'ImageSizer_Output\'+listbox1.items[z]); showmessage('saved');
end; |
Schönen Gruss
PigfaceJoe