Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/07/2008, 07:37
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: imagen dinamica

Bueno, si estuviste leyendo un poco el link que te dejé habrás visto que las imágenes se crean (quedando cargadas en una variable), por ejemplo con imagecreatetruecolor(), luego se dibuja sobre ellas con las distintas funciones y finalmente se guarda o envía al navegador en el formato deseado, con imagejpg() imagepng() etc.

Para dibujar (o agregar texto) sobre una imagen estática, debes crearla a partir de ella:

imagecreatefromgd2()
imagecreatefromgd2part()
imagecreatefromgd()
imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromstring()
imagecreatefromwbmp()
imagecreatefromxbm()
imagecreatefromxpm()

(encontrarás todas las funciones en el link anterior)

Por ejemplo,
Código PHP:
$im imagecreatefromjpg('fondo.jpg'); 
Así se creará una nueva imagen con la original de fondo.
Si tienes en otro archivo un PNG transparente puedes pegarlo sobre esta para hacer, por ejemplo, marcas de agua. Conservará la transparencia.

Eso lo haces abriendo ese archivo con imagecreatefrompng() y luego con imagecopy() lo llevas desde esa imagen a $im. Por ejemplo:

Código PHP:
$im2 imagecreatefrompng('milogo.png');
imagecopy($im$im210010000100100); 
Para agregar texto podés usar imagettftext() que te permite escribir texto utilizando un font True Type (.TTF) subido al servidor.

Código PHP:
imagettftext($im2001020$negro"Arial.ttf"$texto); 
Las coordenadas son desde la esquina superior izquierda. Los colores se crean previamente con imagecolorallocate().

Y finalmente al terminar, la enviamos al navegador:

Código PHP:
imagejpg($im); 
O puede ser guardada. Si la envias de la forma anterior, y con el Header Content-Type correspondiente, podés incluirla en una página como una imagen cualquiera:

Código:
<img src="tu_script.PHP" />
Investiga un poco sobre eso y obtendrás lo que necesitas! Es sencillo.

Espero que te sirva.
Saludos.