delphi4arab منتديات دلفي للعرب
كيفية عمل multi image resizer - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيفية عمل multi image resizer (/showthread.php?tid=6227)



كيفية عمل multi image resizer - you_per7 - 02-06-2014

السلام عليكم
عثرت على هذا الكود الذي يقوم بتصغير حجم الصور لمقاسات معينة. لكن عيبه أنه يعمل على ملف واحد.
أنا لدي مئات الصور التي أرغب في اعطاءها مقاس معين دفعة وحدة . فكيف يمكنني ذلك ؟؟
كود :
procedure TForm1.Button1Click(Sender: TObject); var bmp: TBitmap; jpg: TJpegImage; scale: Double; begin if opendialog1.execute then begin jpg := TJpegImage.Create; try jpg.Loadfromfile(opendialog1.filename); if jpg.Height > jpg.Width then scale := 400 / jpg.Height else scale := 400 / jpg.Width; bmp := TBitmap.Create; try {Create thumbnail bitmap, keep pictures aspect ratio} bmp.Width := Round(jpg.Width * scale); bmp.Height:= Round(jpg.Height * scale); bmp.Canvas.StretchDraw(bmp.Canvas.Cliprect, jpg); {Draw thumbnail as control} Self.Canvas.Draw(100, 10, bmp); {Convert back to JPEG and save to file} jpg.Assign(bmp); jpg.SaveToFile( ChangeFileext(opendialog1.filename, '_thumb.JPG') ); finally bmp.free; end; finally jpg.free; end; end; end;