[PHP] Rotar imágenes con fondos transparentes

  • 0 Respuestas
  • 981 Vistas

Valarjar
Hijo de Odyn

[PHP] Rotar imágenes con fondos transparentes
« en: Mayo 26, 2017, 01:44:35 am »
Código: PHP
  1. <?php
  2. //Parámetros
  3. $archivo = 'origen url'; //logo
  4. $angulo = 90;
  5.  
  6. //Generar el recurso de imagen original
  7. $origen = imagecreatefrompng($archivo) or die('Error al abrir el archivo '.$archivo);
  8. imagealphablending($origen, false);  //No mezclar sobre el canal alfa (transparencias)
  9. imagesavealpha($origen, true);      //guardar la información completa del canal alfa
  10.  
  11. //Generar el recurso de imagen rotado
  12. $destino = imagerotate($origen, $angulo, imageColorAllocateAlpha($origen, 0, 0, 0, 127));
  13. imagealphablending($destino, false); //No mezclar sobre el canal alfa (transparencias)
  14. imagesavealpha($destino, true);      //guardar la información completa del canal alfa
  15.  
  16.  
  17. //RESULTADO
  18. $mostrar_imagen_como_resultado = true;
  19.  
  20. if ($mostrar_imagen_como_resultado) {
  21.     //Mostrar la imagen
  22.     header('Content-type: image/png');
  23.     imagepng($destino);
  24. } else {
  25.     //Guardarla en otro archivo
  26.     $rutaDestino = 'ruta-nueva.png';
  27.     imagepng($destino, $rutaDestino);
  28. }
  29.  
  30. //liberar recursos
  31. imagedestroy($origen);
  32. imagedestroy($destino);
  33.