ImageScaleToFit

Syntax

ImageScaleToFit( name, size [, interpolation] )
ImageScaleToFit( name, width, height [, interpolation] )

Or as a member:

someImage.scaleToFit( size [, interpolation] )
someImage.scaleToFit( width, height [, interpolation] )

Arguments

Name
Type
Required
Default
Description

name

any

Yes

The image to scale. Can be a BoxImage object or image name.

size

any

Yes*

Single dimension to fit. Scales to fit this width while maintaining aspect ratio.

width

any

Yes*

Maximum width. Image fits within these dimensions maintaining aspect ratio.

height

any

Yes*

Maximum height. Image fits within these dimensions maintaining aspect ratio.

interpolation

String

No

bilinear

The interpolation method: "bilinear" (default), "nearest", "bicubic".

* Either provide a single size parameter OR both width and height parameters.

Returns

BoxImage — The scaled image object.

Description

Scales an image to fit within specified dimensions while maintaining the aspect ratio. This function is intelligent about sizing:

  • Single parameter: Fits the image to the specified width, maintaining aspect ratio

  • Two parameters (width, height): Fits the image within a rectangular boundary, maintaining aspect ratio (the image will be as large as possible without exceeding either dimension)

The image is never stretched or distorted - aspect ratio is always preserved.

Example

// Scale image to fit width 400 (height adjusts automatically)
result = ImageScaleToFit( myImage, 400 );

// Scale image to fit within 800x600 bounds
result = ImageScaleToFit( myImage, 800, 600 );

// Scale with custom interpolation
result = ImageScaleToFit( myImage, 400, "bicubic" );

// As a member function (recommended)
myImage.scaleToFit( 600 );
myImage.scaleToFit( 800, 600, "bilinear" );

Interpolation Methods

  • bilinear - Good balance of speed and quality (default)

  • nearest - Fastest, lowest quality (pixelated)

  • bicubic - Highest quality, slowest

  • ImageResize

  • ImageCrop

  • ImageRotate

Notes

  • The name argument can be a BoxImage object or the name of an image variable in the current context.

  • The aspect ratio is always preserved - the image is never stretched or distorted.

  • For a 500x300 image calling scaleToFit(400, 600): result is 400x240 (width constrained)

  • For a 300x500 image calling scaleToFit(400, 600): result is 360x600 (height constrained)

  • The operation modifies the image in place when used as a member function.

  • Returns the modified image object for chaining or further processing.

Last updated

Was this helpful?