function ThumbNail($rutaFoto, $thumbFoto, $max_alto = 75, $max_ancho = 75, $overwrite = true)
{
$checkedFoto = file_exists($rutaFoto);
if ( $checkedFoto === true )
{
$sizeFoto = GetImageSize( $rutaFoto );
$anchoFoto = $sizeFoto[0];
$altoFoto = $sizeFoto[1];
if ($overwrite == false)
{
$checkedThumb = file_exists ($thumbFoto);
if ( $checkedThumb === true )
{
return true;
}
}
$ExtImg = strrchr ($rutaFoto, ".");
if ( $ExtImg == ".gif" )
{
$imageActual = imagecreatefromgif ($rutaFoto);
}
elseif ( $ExtImg == ".jpg" || $ExtImg == ".jpeg" )
{
$imageActual = imagecreatefromjpeg ($rutaFoto);
}
elseif ( $ExtImg == ".png" )
{
$imageActual = imagecreatefrompng ($rutaFoto);
}
touch( $thumbFoto );
chmod( $thumbFoto, 0777 );
$razonFoto = $anchoFoto / $altoFoto;
if ($anchoFoto > $altoFoto)
{
$altoFinal = $max_alto;
$anchoFinal = ceil($max_alto*$razonFoto);
$destajeX = ($anchoFinal - $max_ancho)/-2;
$destajeY = 0;
}
else
{
$anchoFinal = $max_ancho;
$altoFinal = ceil($max_ancho/$razonFoto);
$destajeX = 0;
$destajeY = ($altoFinal - $max_alto)/-2;
}
$ImagenFinal = imagecreatetruecolor ($max_ancho, $max_alto);
ImageCopyResized ($ImagenFinal, $imageActual, $destajeX, $destajeY, 0, 0, $anchoFinal, $altoFinal, $anchoFoto, $altoFoto);
$controlImage = imagejpeg ( $ImagenFinal, $thumbFoto, 90);
return ($controlImage);
}
else
{
return false;
}
}
Acepta cinco entradas, las dos primeras indispensables y las otras tres opcionales: la ruta de la imagen de origen, la ruta donde se creará la miniatura, el alto máximo de la miniatura (75 pixeles por defecto), el ancho máximo (también 75 px. por defecto), y si se puede sobreescribir una imagen preexistente o no (por defecto es true)
Diganme que les parece y sus obvias sugerencias.
No hay comentarios:
Publicar un comentario