I notice when people load pages with tons of cropped images PHP drains my CPU.
$src = $_GET["SRC"];
$dimension = $_GET["DIMENSION"];
list($width, $height) = getimagesize($src);
$src = imagecreatefromjpeg($src);
$new_image = imagecreatetruecolor($dimension, $dimension);
if($width > $height && $width != $height){
$difference = $width - $height;
$cut = $difference / 2;
imagecopyresampled($new_image, $src, 0, 0, $cut, 0, $dimension, $dimension, $height, $height);
}elseif($height > $width && $width != $height){
$difference = $height - $width;
$cut = $difference * .2;
imagecopyresampled($new_image, $src, 0, 0, 0, $cut, $dimension, $dimension, $width, $width);
}elseif($width == $height){
imagecopyresampled($new_image, $src, 0, 0, 0, 0, $dimension, $dimension, $width, $height);
}
header("Content-type: image/jpeg");
imagejpeg($new_image, NULL, 100);
imagedestroy($new_image);
Here is my code for the cropping.
Is cropping smaller images easier on the CPU? Should I create a cropped version on upload to prevent re cpu usage later?
Whats good cpu saving techniques on cropping images?