/**
* @param string $sSrcname Файл исходного изображения
* @param string $sDstName Файл уменьшенной копии
* @param int $iDstW Максимальная ширина копии
* @param int $iDstH Максимальная высота копии
*/
function CreateThumbnail($sSrcName, $sDstName, $iDstW, $iDstH)
{
// Получим информацию о исходном изображении
// Определим тип
switch ($aImgInfo[2])
{
case IMAGETYPE_JPEG:
$sType = 'jpeg';
break;
case IMAGETYPE_PNG:
$sType = 'png';
break;
case IMAGETYPE_GIF:
$sType = 'gif';
break;
default:
// Если тип нам не нравится, шлем нафиг
return false;
break;
}
{
return false;
}
// Исходное изображение
// Теперь $iSrcW и $iSrcH ширина и высота исходника
list($iSrcW, $iSrcH) = $aImgInfo;
// Далее алгоритм определения пропорции
if (($iSrcW > $iDstW) || ($iSrcH > $iDstH))
{
if ($iSrcW > $iSrcH)
{
$fK = $iDstW / $iSrcW;
}
else
{
$fK = $iDstH / $iSrcH;
}
}
else
{
$fK = 1;
}
$iNewW = round($iSrcW * $fK); // Ширина копии $iNewH = round($iSrcH * $fK); // Высота копии
// Создаем уменьшенную копию
$iSrcH); // Изменяем размер пропорционально со сглаживанием
// Сохраняем в $sDstName
return true;
}