Crea un archivo png transparente usando PHP

Actualmente me gustaría crear un png transparente con la calidad más baja.

El código:

 

Sin embargo, hay algunos problemas:

  1. ¿Necesito especificar un archivo png antes de crear un nuevo archivo? ¿O puedo crear sin ningún archivo png existente?

    Advertencia: imagecreatefrompng (test.png): no se pudo abrir la transmisión: no existe tal archivo o directorio en

    C: \ DSPadmin \ DEV \ ajax_optipng1.5 \ create.php en la línea 4

  2. Aunque hay un mensaje de error, todavía genera un archivo png, sin embargo, lo que encontré es que el archivo es una imagen en color negro, ¿necesito especificar algún parámetro para hacerlo transparente?

Gracias.

Para 1) imagecreatefrompng('test.png') intenta abrir el archivo test.png que luego puede editarse con las funciones GD.

Para 2) Para habilitar el guardado del canal alfa imagesavealpha($img, true); se utiliza El siguiente código crea una imagen transparente de tamaño 200x200px al habilitar el almacenamiento alfa y llenarlo con transparencia.

  

Echa un vistazo a:

  • imagecoloralocatealfas
  • relleno de imagen

Una función de ejemplo copia archivos PNG transparentes:

   

1) Puedes crear un nuevo archivo png sin que exista uno. 2) Obtienes una imagen en color negro porque usas imagecreatetruecolor(); . Crea una imagen de la más alta calidad con un fondo negro. Como necesita una imagen de menor calidad, use imagecreate();

  

Puedes leer más en este artículo: Cómo crear una imagen usando PHP