IEAdjustRectToAspectRatio
Declaration
function IEAdjustRectToAspectRatio(InRect : TRect;
ImgWidth, ImgHeight: Integer;
DisplayWidth, DisplayHeight : Integer;
FitMethod: TFitMethod = _fmFitWithinRect ) : TRect;
Description
Adjusts the past rect so that it matches the aspect ratio of an image. For example, if InRect specifies a selected area where you want to draw an image, you can adjust the selection so that the image is not stretched (maintains its aspect ratio).
Parameter | Description |
InRect | The source rect (to be adjusted) |
ImgWidth, ImgHeight | The dimensions of the image (to which inRect will be adjusted) |
DisplayWidth, DisplayHeight | The maximum width/height for the rect (typically the client area of a display control, such as a TImageEnView) |
FitMethod | Rather than reducing the area of InRect, it is increased. The returned rect will cover the entire passed rect |
Assuming InRect does not already match the ratio of ImgWidth/ImgHeight then IEAdjustRectToAspectRatio will return a rect with either:
◼Left and Right unchanged but Top increased and Bottom decreased
◼Top and Bottom unchanged but Left increased and Right decreased
But if FitMethod is _fmFillRect_WithOverlap then result wil be either:
◼Left and Right unchanged but Top decreased and Bottom increased
◼Top and Bottom unchanged but Left decreased and Right increased
Compatibility Notes
This is the same as the AdjustRectToAspectRatio() method in versions prior to v6.0.0 but note the change of parameter order
See Also
◼GetImageRectWithinArea◼GetImageSizeWithinArea