image_scale($source, $destination, $width, $height)
drupal/includes/image.inc, line 187
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.
$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.
TRUE or FALSE, based on success.
| Name | Description |
|---|---|
| Image toolkits | Drupal's image toolkits provide an abstraction layer for common image file manipulations like scaling, cropping, and rotating. The abstraction frees module authors from the need to support multiple image libraries, and it allows site... |
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));
}