I think you want to resample the image:
ImageEnView1.Proc.Resample(iWidth, -1, rfNone);
or
ImageEnView1.Proc.Resample(iWidth, iHeight, rfNone, True)
This will reduce the dimensions of the image while maintaining the aspect ratio and will reduce the file size as well.
Declaration
procedure Resample(NewWidth, NewHeight: integer; FilterType: TResampleFilter = rfNone; bMaintainAspectRatio : Boolean = False);
Description
This method resizes the current image. The content of the image changes (stretched to new size).
Parameter Description
NewWidth New image width in pixels. If NewWidth is -1 then it is calculated automatically, respecting the proportions.
NewHeight New image height in pixels. If NewHeight is -1 then it is calculated automatically, respecting the proportions.
FilterType Resampling interpolation algorithm.
bMaintainAspectRatio Automatically reduces NewWidth or NewHeight to ensure the original proportions of the image are maintained
William Miller
Adirondack Software & Graphics
Email: w2m@frontiernet.net
EBook: http://www.imageen.com/ebook/
Apprehend: http://www.frontiernet.net/~w2m/index.html
Custom ImageEn Development