Scale an image using the given new width and height

- « imagesavealpha

- imagesetbrush »

- PHP Manual
- GD and Image Functions
- Scale an image using the given new width and height

# imagescale

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagescale — Scale an image using the given new width and height

### Description

imagescale(
GdImage `$image`,
int `$width`,
int `$height` = -1,
int `$mode` = `IMG_BILINEAR_FIXED`
): GdImage|false

imagescale() scales an image using the given interpolation algorithm.

> Note:

> Unlike many of other image functions, imagescale() does not modify the passed `image`; instead, a new image is returned.

### Parameters

`image`

  A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().

`width`

  The width to scale the image to.

`height`

  The height to scale the image to. If omitted or negative, the aspect ratio will be preserved.

`mode`

  One of `IMG_NEAREST_NEIGHBOUR`, `IMG_BILINEAR_FIXED`, `IMG_BICUBIC`, `IMG_BICUBIC_FIXED` or anything else (will use two pass).

  > Note: `IMG_WEIGHTED4` is not yet supported.

### Return Values

Return the scaled image object on success or `false` on failure.

### Errors/Exceptions

Throws a ValueError if `width` or `height` would cause over-/underflow.

Throws a ValueError if `mode` is invalid.

### Changelog

Version | Description
--- | ---
8.4.0 | Now throws a ValueError if `width` or `height` would cause over-/underflow.
8.4.0 | Now throws a ValueError if `mode` is invalid.
8.0.0 | On success, this function returns a GDImage instance now; previously, a resource was returned.
8.0.0 | `image` expects a GdImage instance now; previously, a valid `gd` resource was expected.

### See Also

- imagecopyresized() - Copy and resize part of an image
- imagecopyresampled() - Copy and resize part of an image with resampling