ImageEn, unit imageenproc




procedure Resample(NewWidth, NewHeight: Integer; FilterType: TResampleFilter = rfNone; bMaintainAspectRatio : Boolean = False); overload;
procedure Resample(ScaleBy: Double; FilterType: TResampleFilter = rfNone); overload;


Resizes the current image. Unlike ImageResize, the content of the image will change (i.e. it is stretched to the 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

Note: This function is also available to the user in the Image Processing dialog


ImageEnView1.Proc.Resample(50, -1, rfNone); // Resize the image to width of 50 (with height automatically set) without any smoothing algorithm
ImageEnView1.Proc.Resample(-1, 100, rfLanczos3); // Resize the image to height of 100 (with width automatically calculated) and high quality smoothing
ImageEnView1.Proc.Resample(100, 100, rfLanczos3, True); // Resize the image so that it is no higher or wider than 100, but maintains the original aspect ratio (e.g. a 4:3 portrait image would have the new dimensions 100 x 75)
ImageEnView1.Proc.Resample( 0.5, rfFastLinear ); // Resize the image to half its current size with fast, but good quality smoothing

See Also

- ResampleTo