[PHP] Rotar imágenes con fondos transparentes

<?php
//Parámetros
$archivo = 'origen url'; //logo
$angulo = 90;

//Generar el recurso de imagen original
$origen = imagecreatefrompng($archivo) or die('Error al abrir el archivo '.$archivo);
imagealphablending($origen, false);  //No mezclar sobre el canal alfa (transparencias)
imagesavealpha($origen, true);      //guardar la información completa del canal alfa

//Generar el recurso de imagen rotado
$destino = imagerotate($origen, $angulo, imageColorAllocateAlpha($origen, 0, 0, 0, 127));
imagealphablending($destino, false); //No mezclar sobre el canal alfa (transparencias)
imagesavealpha($destino, true);      //guardar la información completa del canal alfa

//RESULTADO
$mostrar_imagen_como_resultado = true;

if ($mostrar_imagen_como_resultado) {
    //Mostrar la imagen
    header('Content-type: image/png');
    imagepng($destino);
} else {
    //Guardarla en otro archivo
    $rutaDestino = 'ruta-nueva.png';
    imagepng($destino, $rutaDestino);
}

//liberar recursos
imagedestroy($origen);
imagedestroy($destino);
PandaGG
Lok'tar ogar

Dejar respuesta

Please enter your comment!
Please enter your name here

Sponsor

Últimos

Avance de Horizon Forbidden West

Avance de Horizon Forbidden West El año 2022 ha empezado fuerte en consolas, y los próximos meses estarán repletos de potentísimos lanzamientos. Uno de los...

Los mejores juegos de Android en 2021

Llega el momento de echar la vista atrás y repasar lo mejor que nos ha dejado 2021. Y hoy queremos hacerlo sobre uno de...

Avance de Hogwarts Legacy

Aunque este ambicioso RPG tuvo su primer anuncio hace bastante más de un año, con motivo del anuncio de los juegos que vería la...

Mejores mandos gaming para PC

Aunque es cierto que para muchos juegos la combinación de teclado y ratón es insuperable, no es menos cierto que muchos otros juegos ofrecen...

Los 6 juegos más esperados de 2022 para PC

El año 2021 va quedando atrás, y aunque los proyectos de videojuegos en PC son muchos cada año, son unos pocos los que acaparan...