Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/12/2007, 07:02
Sanubrio
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: ¿Alternativa a la libreria GD?

Código PHP:
function crearMiniatura($archivo$tamano$calidad 85)
{
  
$data getimagesize($archivo);
    if (
$data === false)
    {
        return 
false;
    }
    
    switch (
$data['mime'])
  {
    case 
'image/jpeg':
    case 
'image/pjpeg':
      
$imagen imagecreatefromjpeg($archivo);
      
$creator 'imagejpeg';
      break;
      
    case 
'image/png':
      
$imagen imagecreatefrompng($archivo);
      
$creator 'imagepng';
      break;
       
    case 
'image/gif':
      
$imagen imagecreatefromgif($archivo);
      
$creator 'imagegif';
      break;
      
    default:
      return 
false;
  }
    
    if (
$data[0] > $data[1])
    {
        
$ancho $tamano;
        
$alto round(($data[1] * $tamano) / $data[0]);
    }
    else
    {
      
$ancho round(($data[0] * $tamano) / $data[1]);
        
$alto $tamano;
    }
    
    
$miniatura imagecreatetruecolor($ancho$alto);
    
imagecopyresampled($miniatura$imagen0000$ancho$alto$data[0], $data[1]);
    
    
ob_start();
    if (
$creator == 'imagejpeg')
    {
        
$creator($miniaturanull$calidad);
    }
    else
    {
        
$creator($miniatura);
    }
    
    return array(
ob_get_clean(), $data['mime']);
}


$imagen_nombre 'http://www.google.es/intl/en_com/images/logo_plain.png';


list(
$miniatura$mime) = crearMiniatura($imagen_nombre100);
if (
$miniatura !== false)
{
    
header('Content-Type: '.$mime);
    echo 
$miniatura;