Foros del Web » Programando para Internet » PHP »

Se imprimen imagenes recortadas usando libreria GD

Estas en el tema de Se imprimen imagenes recortadas usando libreria GD en el foro de PHP en Foros del Web. Hola a todos. Tengo un script adaptado a mis necesidades, que sino recuerdo mal saque de aqui, para leer una imagen de una carpeta del ...
  #1 (permalink)  
Antiguo 13/07/2009, 19:00
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 11 años, 9 meses
Puntos: 3
Se imprimen imagenes recortadas usando libreria GD

Hola a todos.
Tengo un script adaptado a mis necesidades, que sino recuerdo mal saque de aqui, para leer una imagen de una carpeta del servidor, redimensionarla a mas pequeña, y mostrarla en pantalla.

La imagen original que esta en el servidor es de 1600x1200, la de salida es de 1024x768.
El codigo me va perfecto cuando redimensiono la imagen a resoluciones menores de 900px de ancho... pero cuando intento poner un ancho mayor de 900 pixels, entonces, la imagen que imprime en pantalla se recorta por la parte de abajo, ya que llega al maximo de longitud impuesto por la funcion fread(), por lo que deja de imprimir en pantalla un trozo de ella.
No me explico como una imagen que se redimensiona a más pequeña, puede ocupar mas kbs que la original. ¿Que hago mal?

Codigo:

Código PHP:
$img fread(fopen($foto"rb"), filesize($foto)); 
$foto contiene la ruta del archivo del servidor

Muchas gracias por adelantado :)
  #2 (permalink)  
Antiguo 13/07/2009, 20:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Se imprimen imagenes recortadas usando libreria GD

Puede ser que la memoria al expandir la foto se te acabe, prueba incrementar el limite de memoria en tu php.ini.

Saludos.
  #3 (permalink)  
Antiguo 14/07/2009, 06:12
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Se imprimen imagenes recortadas usando libreria GD

Hola GatorV, gracias por tu rapida respuesta.
Creo que ya lo he solucionado, lo he probado con varias imagenes y funciona. Lo que he hecho ha sido cambiar la calidad de salida (antes estaba en 100), ahora lo he dejado en 95:

Código PHP:
    // Se entrega al buffer de salida (navegador en este caso) la imagen en formato JPEG
    // El tercer parámetro (95) indica la calidad de la imagen: en porcentaje relación calidad/peso imagen.
    
imagejpeg($dst_img,'',95); 
Por lo que la imagen de salida, ahora ocupa menos que el tamaño impuesto por la original, incluso si se imprime en la misma resolucion. Lo que no entiendo, es que si poner 100 significa 100% (misma calidad que la imagen original), como es que la imagen resultante de menor resolucion, pudiera ocupar bastante más que la original, por lo que no se llegaba a imprimir entera.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:15.