Foros del Web » Programando para Internet » PHP »

Al redimensionar imagenes se muestran negras

Estas en el tema de Al redimensionar imagenes se muestran negras en el foro de PHP en Foros del Web. Hola, tengo un problema con las imagenes que redimensiono con el GD. Tengo este codigo para redimensionarlas: Código PHP: $foto = $_FILES [ 'imagen_disco' ][ ...
  #1 (permalink)  
Antiguo 24/12/2008, 14:54
Avatar de FantasmaFito  
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 118
Antigüedad: 16 años, 10 meses
Puntos: 0
Al redimensionar imagenes se muestran negras

Hola, tengo un problema con las imagenes que redimensiono con el GD.

Tengo este codigo para redimensionarlas:
Código PHP:
$foto=$_FILES['imagen_disco']['tmp_name'];
                                
//Redimensionar imagen
$imagen ImageCreateFromJPEG($foto);
unlink($foto);
$width  imagesx($imagen);
$height imagesy($imagen);
$nueva_anchura  130;
$nueva_altura 130;
if (
function_exists("imagecreatetruecolor")) {
    
$calidad ImageCreateTrueColor($nueva_anchura$nueva_altura);
} else 
$calidad ImageCreate($nueva_anchura$nueva_altura);
ImageCopyResized($calidad$imagen0000$nueva_anchura$nueva_altura$width$height);
ImageJPEG($calidad$foto100);
imagedestroy($imagen);
                                
//Mover imagen a la carpeta
move_uploaded_file($foto,"../../imagenes/imagenesDiscos/".$nuevoID.".jpg"); 
Las redimensiona bien, el problema es que a veces las muestra toda negra. No se que puede estar pasando...
Alguien tiene alguna idea de lo que puede estar ocurriendo o le ha pasado alguna vez?

Muchas gracias!
  #2 (permalink)  
Antiguo 24/12/2008, 15:29
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Al redimensionar imagenes se muestran negras

Creo que no puedes trabajar la imagen antes de moverla del directorio temporal, por lo que primero debes verificar que no hubo errores, despues mover el archivo y entonces redimensionar.

Ademas, primero creas la imagen usando ImageCreateFromJPEG() e inmediatamente despues estas eliminando el archivo, por lo que no estoy seguro si la parte de move_uploaded al final de tu script funcione.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 24/12/2008, 16:10
Avatar de FantasmaFito  
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 118
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Al redimensionar imagenes se muestran negras

Hola, si osea funciona bien, ni siquiera tira errores ni nada, el problema es que a algunas imagenes las muestra en negro y con otras funciona perfecto.
Es un misterio...
  #4 (permalink)  
Antiguo 24/12/2008, 16:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Al redimensionar imagenes se muestran negras

Y tu script valida que solo se reciban imagenes jpg o tambien procesa gif y png usando ImageCreateFromJPEG()?
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 24/12/2008, 16:28
Avatar de FantasmaFito  
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 118
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Al redimensionar imagenes se muestran negras

Solamente jpg
  #6 (permalink)  
Antiguo 24/12/2008, 18:00
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Al redimensionar imagenes se muestran negras

Yo también apoyo lo que dice Triby ...
Quizás ese unlink ... has probado 'estructurarlo' de otra manera?
Mueve antes tu imagen, y luego la redimensionas.
Saludos,
  #7 (permalink)  
Antiguo 24/12/2008, 19:22
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Al redimensionar imagenes se muestran negras

Este problema surge cuando estas redimensionando una imagen mas pequeña que los parametros de redimensionamiento... si redimencionas a 300px x 200px y recibes uan imagen de 100px x 100px entonces ya no hay que redimensionar nada; esa es la razon por la que sucede esto.
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 10:19.