Code: Select all
// Check for the image's exisitance
if (!file_exists($source)) {
echo 'File does not exist!';
} else {
$size = getimagesize($source); // Get the image dimensions and mime type
// DETERMINE WIDTH BY MODE
switch ($_REQUEST['mode']) {
case "gallery":
$h = 200;
$scale = $size[1] / $h;
$w = $size[0] / $scale;
break;
}
$resize = imagecreatetruecolor($w, $h); // Create a blank image
/* Check quality option. If quality is greater than 100, return error */
if ($quality > 100) {
echo 'The maximum quality is 100. <br>Quality changes only affect JPEG images.';
} else {
header('Content-Type: '.$size['mime']); // Set the mime type for the image
switch ($size['mime']) {
case 'image/jpeg':
$im = imagecreatefromjpeg($source);
imagecopyresampled($resize, $im, 0, 0, 0, 0, $w, $h, $size[0], $size[1]); // Resample the original JPEG
imagejpeg($resize, '', $quality); // Output the new JPEG
break;
case 'image/png':
$im = imagecreatefrompng($source);
imagecopyresampled($resize, $im, 0, 0, 0, 0, $w, $h, $size[0], $size[1]); // Resample the original PNG
imagepng($resize, '', $quality); // Output the new PNG
break;
}
imagedestroy($im);
}
}