ImageEn, unit imageenproc |
|
TImageEnProc.Resample
Declaration
procedure Resample(NewWidth, NewHeight: Integer; FilterType: TResampleFilter = rfNone; MaintainAspectRatio: Boolean = False); overload;
procedure Resample(ScaleBy: Double; FilterType: TResampleFilter = rfNone); overload;
Description
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 |
MaintainAspectRatio | Automatically reduces NewWidth or NewHeight to ensure the original proportions of the image are maintained |
Supported filters by PixelFormat:
Pixel Format | Supported Filters |
ie1g, ie8g, ie16g | rfNone, rfBicubic, rfBilinear, rfFastLinear, rfProjectBW, rfProjectWB, rfWICNearestNeighbor, rfWICLinear, rfWICCubic, rfWICFant, rfWICCubicHQ |
ie24rgb | All |
ie32rgb, ie48rgb | rfNone, rfBicubic, rfBilinear, rfWICNearestNeighbor, rfWICLinear, rfWICCubic, rfWICFant, rfWICCubicHQ |
Note: A UI for this is available to your users in the
Image Processing dialogDemo
| Demos\ImageEditing\EveryMethod\EveryMethod.dpr |
Examples
// Resize the image to width of 50 (with height automatically set) without any smoothing algorithm
ImageEnView1.Proc.Resample( 50, -1, rfNone );
// Resize the image to height of 100 (with width automatically calculated) and high quality smoothing
ImageEnView1.Proc.Resample( -1, 100, rfLanczos3 );
// 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( 100, 100, rfLanczos3, True );
// Resize the image to half its current size with fast, but good quality smoothing
ImageEnView1.IO.LoadFromFile( 'D:\TestImage.jpg' );

ImageEnView1.Proc.Resample( 0.5, rfLanczos3 );

See Also
-
ResampleTo