Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2011, 19:20
Avatar de EthanBrody
EthanBrody
 
Fecha de Ingreso: abril-2011
Ubicación: Tierra Blanca, Veracruz-Llave, Mexico, Mexico
Mensajes: 21
Antigüedad: 13 años
Puntos: 1
Pregunta Resultado negro con imagepng en sistema de recorte.

Hola, con el sistema en php que estoy haciendo, en la parte en la que trabajo ahora, tomo una imagen guardada en el servidor (jpg, gif o png) y aparece en una pagina donde el usuario la puede recortar (CROP), el recorte funciona tomando esa imagen y haciendo una nueva pero desde ciertas coordenadas.

Todo funciona normal y excelente cuando elijo imagenes JPG o GIF. Pero cuando elijo una imagen con formato PNG (tenga o no tenga fondo), el resultado del recorte siempre es una imagen negra, nada mas.


Les dejo la parte del código que hace la nueva imagen, porque estoy casi seguro de que ahí está el error, a la hora de hacer imagepng

Código PHP:
$targ_w $targ_h 150;
    
$jpeg_quality 90;

    
$src = (direccion de la foto);
        
$ext = (extension de la foto);
        
$_SESSION['Photo']=(nombre de la foto con su extension)
    switch (
$ext)
     {case 
"gif":   //   gif -> jpg
        
$img_r imagecreatefromgif($src);
        break;
      case 
"jpg" || "jpeg":   //   jpeg -> jpg
        
$img_r imagecreatefromjpeg($src); 
        break;
      case 
"png":  //   png -> jpg
        
$img_r imagecreatefrompng($src);
        break;
     }
    
$dst_r ImageCreateTrueColor$targ_w$targ_h );
    
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
    
$targ_w,$targ_h,$_POST['w'],$_POST['h']);
    
    switch (
$ext)
     {case 
"gif":   //   gif -> jpg
        
imagegif($dst_r,'img/'.$_SESSION['Photo']);
        break;
      case 
"jpg" || "jpeg":   //   jpeg -> jpg 
        
imagejpeg($dst_r,'img/'.$_SESSION['Photo']);
        break;
      case 
"png":  //   png -> jpg
        
imagepng($dst_r,'img/'.$_SESSION['Photo']);
        break;
     }