| 5 image.inc | image_scale($source, $destination, $width, $height) |
| 6 image.inc | image_scale( |
| 7 image.inc | image_scale(stdClass $image, $width = NULL, $height = NULL, $upscale = FALSE) |
| 8 image.inc | image_scale(stdClass $image, $width = NULL, $height = NULL, $upscale = FALSE) |
Scales an image to the given width and height while maintaining aspect ratio.
The resulting image can be smaller for one or both target dimensions.
Parameters
$source: The file path of the source image.
$destination: The file path of the destination image.
$width: The target width, in pixels.
$height: The target height, in pixels.
Return value
TRUE or FALSE, based on success.
Related topics
1 call to image_scale()
File
- includes/
image.inc, line 188 - API for manipulating images.
Code
function image_scale($source, $destination, $width, $height) {
$info = image_get_info($source);
// Don't scale up.
if ($width >= $info['width'] && $height >= $info['height']) {
return FALSE;
}
$aspect = $info['height'] / $info['width'];
if ($aspect < $height / $width) {
$width = (int) min($width, $info['width']);
$height = (int) round($width * $aspect);
}
else {
$height = (int) min($height, $info['height']);
$width = (int) round($height / $aspect);
}
return image_toolkit_invoke('resize', array($source, $destination, $width, $height));
}
Login or register to post comments