Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2012, 18:25
sheshito
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Redimensionar imagenes grandes

Saludos, tengo un code el cual redimensiona las imagenes para ajustarlas al diseño del form, todo funciona bien pero cuando subo imagenes muy grandes hablemos del siguiente de las siguientes dimensiones: 3488 x 2616 y un peso de 2.15 mb, entonces ahi me da este error:
Cita:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 13952 bytes)
Ya he buscado y probado algunos metodos para redimensionar las imagenes del tamaño mensionado pero nada, me sigue dando el mismo erro, si algquien sabe como puedo hacer para redimensionar les agradeceria su ayuda.

Este es el code que estoy utilizando para redimensionar pero como dije con imagenes pequeñas funciona bien pero con imagenes grandes ya me da error:

Código PHP:
$ruta_imagen "imagene/personal.jpg";

$miniatura_ancho_maximo 200;
$miniatura_alto_maximo 100;

$info_imagen getimagesize($ruta_imagen);
$imagen_ancho $info_imagen[0];
$imagen_alto $info_imagen[1];
$imagen_tipo $info_imagen['mime'];


$proporcion_imagen $imagen_ancho $imagen_alto;
$proporcion_miniatura $miniatura_ancho_maximo $miniatura_alto_maximo;

if ( 
$proporcion_imagen $proporcion_miniatura ){
    
$miniatura_ancho $miniatura_ancho_maximo;
    
$miniatura_alto $miniatura_ancho_maximo $proporcion_imagen;
} else if ( 
$proporcion_imagen $proporcion_miniatura ){
    
$miniatura_ancho $miniatura_ancho_maximo $proporcion_imagen;
    
$miniatura_alto $miniatura_alto_maximo;
} else {
    
$miniatura_ancho $miniatura_ancho_maximo;
    
$miniatura_alto $miniatura_alto_maximo;
}


switch ( 
$imagen_tipo ){
    case 
"image/jpg":
    case 
"image/jpeg":
        
$imagen imagecreatefromjpeg$ruta_imagen );
        break;
    case 
"image/png":
        
$imagen imagecreatefrompng$ruta_imagen );
        break;
    case 
"image/gif":
        
$imagen imagecreatefromgif$ruta_imagen );
        break;
}

$lienzo imagecreatetruecolor$miniatura_ancho$miniatura_alto );

imagecopyresampled($lienzo$imagen0000$miniatura_ancho$miniatura_alto$imagen_ancho$imagen_alto);


imagejpeg($lienzo"fototemporal/miniatura.jpg"80); 
Gracias por su ayuda....