PHP 7.0.6 Released

imagescale

(PHP 5 >= 5.5.0, PHP 7)

imagescaleScale an image using the given new width and height

Description

resource imagescale ( resource $image , int $new_width [, int $new_height = -1 [, int $mode = IMG_BILINEAR_FIXED ]] )

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

Parameters

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

new_width

The width to scale the image to.

new_height

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

Caution

You should always provide the height if using PHP 5.5.18 or earlier, or PHP 5.6.2 or earlier, as the aspect ratio calculation was incorrect.

mode

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

Return Values

Return the scaled image resource on success or FALSE on failure.

Changelog

Version Description
5.5.19/5.6.3 The calculation of the height if new_height was negative or omitted was fixed; prior to these versions, the aspect ratio was not maintained correctly.

User Contributed Notes

php at keith tyler dot com
17 days ago
"mode" argument doesn't work in PHP 5.5.9. Do imagesetinterpolation($im,IMG_MODE); first, then do imagescale($im,$x,$y) to apply it in scaling.
abc at ed48.com
2 years ago
<img src="image.jpg" alt="image" /><br><br>
<?php
$org_info
= getimagesize("image.jpg");
echo
$org_info[3] . '<br><br>';
$rsr_org = imagecreatefromjpeg("image.jpg");
$rsr_scl = imagescale($rsr_org, 860, 860IMG_BICUBIC_FIXED);
imagejpeg($rsr_scl, "imagebfb.jpg");
imagedestroy($rsr_org);
imagedestroy($rsr_scl);
?>
<img src="imagebfb.jpg" alt="imagebfb" /><br><br>
<?php
$scl_info
= getimagesize("imagebfb.jpg");
echo
$scl_info[3];
?>
To Top