предпросмотр изображений

<?php
/*
*предпросмотр изображений
*автор: nc_soft
*15.09.07
*/

//путь к файлу картинки (jpg,gif,png)
$img='example.jpg';

$info=getimagesize($img);

//оригинальная ширина
$w_or=$info[0];

//оригинальная высота
$h_or=$info[1];

//тип
$type=$info['mime'];


//создаем изображение
$im1='';

if ($type=='image/jpeg')
$im1=ImageCreateFromJpeg($img);

if ($type=='image/gif')
$im1=ImageCreateFromGif($img);

if ($type=='image/png')
$im1=ImageCreateFromPng($img);

if (!$im1)
die('ошибка');

//далее условимся, что максимальный размер одной из сторон превьюшки равен 80 пикселей
//высчитаем коэффицент масштаба
if ($w_or>$h_or)
{
    $k=$w_or/80;
}
else
{
    $k=$h_or/80;
}

//высчитаем размеры превьюшки
$w=round($w_or/$k);
$h=round($h_or/$k);


//$im2=ImageCreate($w,$h); (если хотите ПЛОХОЕ качество картинки испоьзуйте эту функцию ;) )
$im2=imagecreatetruecolor($w,$h);

//ImageCopyResized($im2,$im1,0,0,0,0,$w,$h,$w_or,$h_or); (если хотите ПЛОХОЕ качество картинки испоьзуйте эту функцию ;) )
imagecopyresampled($im2,$im1,0,0,0,0,$w,$h,$w_or,$h_or);

if ($type=='image/jpeg')
{
    header('Content-type:image/jpeg');
    ImageJpeg($im2);
}
elseif ($type=='image/gif')
{
    header('Content-type:image/gif');
    ImageGif($im2);
}
elseif ($type=='image/png')
{
    header('Content-type:image/png');
    ImagePng($im2);
}
else die('ошибка');

?>