Foros del Web » Programando para Internet » PHP »

[Ayuda]Generar imágenes con php

Estas en el tema de [Ayuda]Generar imágenes con php en el foro de PHP en Foros del Web. Hola amigos , tengo este código html ( form.htm ), el cual se envía a form.php , pero me da error y no me funciona, ...
  #1 (permalink)  
Antiguo 07/03/2011, 05:20
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
[Ayuda]Generar imágenes con php

Hola amigos, tengo este código html (form.htm), el cual se envía a form.php, pero me da error y no me funciona, alguien me puede ayudar porfavor...
Gracias de antemano.

form.htm
Código HTML:
<form name="form1" method="post" action="form.php">
<br>
<table class="tabla" width="80%" align="center" border="1" cellpadding="0">

<tr>
<td class="celda1" align="center"><strong><font color="#000000" face="Verdana" size="2">Primer Pokémon</font></strong></td>
<td class="celda3" width="40" align="center" height="40"><img alt="Imagen" id="poke1" src="./img/000.png.gif" width="40" height="40"></td>
<td class="celda2" align="center">
<select name="poke1" id="poke1" onchange="changeImage1(this.options[selectedIndex].value)">
<option value="./img/001.png">#001 - Bulbasaur</option>
<option value="./img/003.png">#004 - Charmander</option>
<option value="./img/002.png">#007 - Squirtle</option>
</select><br>
</td>

</tr>
<tr>
<td align="center"><strong><font color="#000000" face="Verdana" size="2">Nombre</font></strong></td><td align="center"><input name="name" type="text" id="name" align=""></td>
</tr><tr>
<td class="celda1" align="center"><strong><font color="#000000" face="Verdana" size="2">Entrenador</font></strong></td>
<td class="celda3" valign="top" width="80" align="center" height="80"><img alt="Imagen" id="entrenador" src="./Entrenadores/Elita.gif" width="80" height="80"></td>
<td class="celda2" align="center">
<select name="train" id="train" onchange="changeImage2(this.options[selectedIndex].value)">
<option value="./img/Elita.png">Elita</option>
<option value="./img/Joe.png">Joe</option>
</select></td>
</tr>
<tr>
<td class="celda1" align="center"><strong><font color="#000000" face="Verdana" size="2">Estilo</font></strong></td>
<td class="celda3" align="center"><img alt="Imagen" id="estilo" src="./Estilo/Rojo.png"><br>
<select name="tarjeta" id="tarjeta" onchange="changeImage(this.options[selectedIndex].value)">
<option value="./img/Rojo.png">Rojo</option>
<option value="./img/Azul.png">Azul</option></option>
</select></td>
</tr>
</table>
<input type="submit" name="Submit" value="Enviar">
</form> 
Y aquí está el código php, el cual me dice: está imagen tiene errores (o algo así...):

form.php

Código PHP:
<?php

$Nombre 
$_POST['name'];


$Tarjeta imagecreatefrompng($_POST['tarjeta']);
$Entrenador imagecreatefrompng($_POST['train']);
$Poke1 imagecreatefrompng($_POST['poke1']);



//Posición del entrenador
$Margen_Derecho1 170;
$Margen_Abajo1 60;
$x1 imagesx($Entrenador);
$y1 imagesy($Entrenador);

//Pegar el entrenador en la tarjeta
imagecopy($Tarjeta$Entrenadorimagesx($Tarjeta) - $x1 $Margen_Derecho1imagesy($Tarjeta) - $y1 $Margen_Abajo100imagesx($Entrenador), imagesy($Entrenador));


//Posición del pokémon 1
$Margen_Derecho10 125;
$Margen_Abajo10 85;
$x10 imagesx($Poke1);
$y10 imagesy($Poke1);

//Pegar el pokemon 1 en la tarjeta
imagecopy($Tarjeta$Poke1imagesx($Tarjeta) - $x10 $Margen_Derecho10imagesy($Tarjeta) - $y10 $Margen_Abajo1000imagesx($Poke1), imagesy($Poke1));



$negro imagecolorallocate($Tarjeta000);
imagettftext($Tarjeta11015125$negro"fuente.ttf"$Nombre);


header("Content-type: image/x-png");
imagepng($Tarjeta);
imagedestroy($Tarjeta);
imagedestroy($Poke1);
imagedestroy($Entrenador);

?>
Gracias de antemano.
  #2 (permalink)  
Antiguo 07/03/2011, 13:40
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: [Ayuda]Generar imágenes con php

Para empezar, en tu formulario falta la declaracion del tipo de contenido, siempre que envies archivos debes agregar enctype="multipart/form-data"

Despues, los archivos en PHP no los recibes en $_POST, sino en $_FILES y no es tan facil como asignar el valor a una variable.

Aqui mismo, en FDW, hay varios aportes acerca de subir archivos, verificarlos y procesarlos, solo tienes que buscar un poco.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 07/03/2011, 14:24
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
Respuesta: [Ayuda]Generar imágenes con php

Muchas gracias :D
Pero entonces, ¿quedaría así?:
Código HTML:
<form name="form1" method="post" action="form.php" enctype="multipart/form-data"> 
y
Código PHP:
$Tarjeta imagecreatefrompng($_FILES['tarjeta']);
$Entrenador imagecreatefrompng($_FILES['train']);
$Poke1 imagecreatefrompng($_FILES['poke1']); 
Gracias de nuevo, ahora buscaré por FDW alguna cosa, sino me sale, ¿puedes seguir ayudandome?

GRACIAS

PD: que no tenga el archivo "fuente.ttf", ¿afecta?
  #4 (permalink)  
Antiguo 07/03/2011, 14:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: [Ayuda]Generar imágenes con php

Haz un var_dump($_FILES);, para que mas o menos te vayas dando una idea de como trabajar los archivos, aunque te recomiendo seguir buscando los aportes, hay muchos y muy buenos.

No se hasta que punto pueda afectar que no tengas el archivo de la fuente, pero al menos no podras agregar texto a la imagen con esa fuente.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 07/03/2011, 15:15
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
Respuesta: [Ayuda]Generar imágenes con php

var_dump($_FILES); ??!!!
¿cómo lo hago?
lo siento soy muy n00b, ¡la mitad del código no es ni mio!

Última edición por TheLucas; 07/03/2011 a las 15:32

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:50.