File size: 1.6Kb
<?
@$fid=intval($_GET['f']);
@$sz=$_GET['sz'];
$file_name = 'photos/'.$fid.'.jpg';
if($sz=='full'){
header('Location: '.$file_name.'');
exit;
}
# Параметры обработки
$qual = 70; # Качество выходного JPEG
$w_max = 120; # Максимальная ширина картинки
$h_max = 90; # Максимальная высота картинки
# Открываем изображение
$im = imagecreatefromjpeg ($file_name);
# Определяем размеры в пикселях
$w = imagesx($im);
$h = imagesy($im);
# Если текущая ширина больше максимальной, обрезаем по ширине и масштабируем высоту
if($w > $w_max){
$w = $w_max;
$h = ( imagesy($im) / imagesx($im) ) * $w_max;
}
# Если текущая высота больше максимальной, обрезаем по высоте и масштабируем ширину
if ( $h > $h_max ){
$w = ( imagesx($im) / imagesy($im) ) * $h_max;
$h = $h_max;
}
# Создаём дескриптор нового изображения
$im1 = imagecreatetruecolor($w,$h);
# Вставляем в новое изображение результат
imagecopyresampled($im1, $im, 0, 0, 0, 0, $w, $h, imagesx($im), imagesy($im));
# Посылаем хидер
header("Content-type: image/jpeg");
# Выводим изображение в формате JPEG с заданым качеством
imagejpeg($im1, false, $qual);
# Очищаем память
imagedestroy($im);
imagedestroy($im1);
?>