El primer paso para empezar a trabajar con gráficos y image GD, es la creación de una imagen, que puede ser en blanco (para hacer una gráfica, un dibujo...) o bien a partir de una imagen existente (para editarla, redimensionarla...). ArribaTabla de contenidoArribaCreación de una imagen en blancoPara crear una imagen en blanco y poder dibujar sobre ella, usaremos la función imagecreate, a la que le indicaremos el tamaño de la imagen que queremos crear, la función devolverá un identificador de la imagen que, en el ejemplo, almacenamos en la variable $im. EL siguiente paso es crear un color, que al ser el primero creado, será usado como color de fondo. Para crear colores, usamos la función imagecolorallocate, a la que le pasamos el id de la imagen y los valores de rojo, verde y azul (en este órden)
000 001 002 003 004 005 006 007 008 009 010
|
<?php $im = @imagecreate(100, 100) or die("Error creando la imagen"); $fondo = imagecolorallocate($im, 255, 255, 255); // blanco // Aqui podemos trabajar con la imagen header("Content-type: image/png"); imagepng($im); imagedestroy($im); ?>
|
Finalmente, como vemos en el ejemplo, enviamos al navegador los encabezados de PNG (header), enviamos la imagen al navegador (imagepng) y liberamos la memória (imagedestroy). ArribaCargar una imagen existenteLa carga de una imagen existente es mas o menos cómo el caso anterior, pero en lugar de usar imagecreate, usaremos una función de las de la siguiente lista:imagecreatefromgif - Crea una imagen a partir de una imagen gif existente imagecreatefromjpeg - Crea una imagen a partir de una imagen jpeg existente imagecreatefromjpeg - Crea una imagen a partir de una imagen png existente imagecreatefromjpeg - Crea una imagen a partir de una imagen bmp para wap existente imagecreatefromgd2, imagecreatefromgd2part, imagecreatefromgd, imagecreatefromstring, imagecreatefromxbm, Imagecreatefromxpm Que dependiendo de la versión de GD, estarán o no disponibles, para saverlo, haremos:
000 001 002
|
<?php var_dump(gd_info()); ?>
|
Veamos una ejemplo de carga de una archivo png:
000 001 002 003 004 005
|
<?php $im = imagecreatefrompng("image.png"); header("Content-type: image/png"); imagepng($im); imagedestroy($im); ?>
|
|