Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2015, 13:02
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Subir imagen PNG con fondo transparente

Buenas noches!
Tengo un pequeño problema, resulta que cuando subo imagenes png con transparencia el fondo de la imagen se vuelve negro, he visto algunas posibles soluciones en el foro pero a la hora de implementarlo en mi código no consigo corregir el problema.
Os dejo mi código para ver si podeis ayudarme:
Código PHP:
 // Cambiar el tamaño original por el tamaño del editor
    
$resizedImage imagecreatetruecolor($imgW$imgH);
    
imagecopyresampled($resizedImage$source_image0000$imgW$imgH$imgInitW$imgInitH);
    
// Rotar la imagen
    
$rotated_image imagerotate($resizedImage, -$angle0);
    
// Nueva anchura y altura de la imagen rotada
    
$rotated_width imagesx($rotated_image);
    
$rotated_height imagesy($rotated_image);
    
// diferencia entre los tamaños rotados y los originales
    
$dx $rotated_width $imgW;
    
$dy $rotated_height $imgH;
    
// crop de la iamgen rotada para encajar el rectangulo
    
$cropped_rotated_image imagecreatetruecolor($imgW$imgH);
    
imagecolortransparent($cropped_rotated_imageimagecolorexact($cropped_rotated_image000));
    
imagecopyresampled($cropped_rotated_image$rotated_image00$dx 2$dy 2$imgW$imgH$imgW$imgH);
    
// crop de la imagen en el area seleccionada
    
$final_image imagecreatetruecolor($cropW$cropH);
    
imagecolortransparent($final_imageimagecolorexact($final_image000));
    
imagecopyresampled($final_image$cropped_rotated_image00$imgX1$imgY1$cropW$cropH$cropW$cropH);
    
// Salida final imagen png
    //imagepng($final_image, $output_filename.$type, $png_quality);
    
imagejpeg($final_image$output_filename.$type$jpeg_quality);
    
$response = Array(
        
"status" => 'success',
        
"url" => $output_filename.$type
    
); 
Muchas gracias por las posibles respuestas,
Saludos!