Autor Tema: Imagen con textos predefinidos  (Leído 2763 veces)

Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #30 en: 05 de Abril de 2010, 22:18:22 pm »
Para lo de la foto,  puedes hacer que suba la foto y luego con imagecopy() la pones.

Perfecto. Ahora con esto me surgen otras dudas:

1- Como con diferentes carácteres también cambia la posición, tengo que crear IF y ELSEIF. ¿Cómo hago para contar los carácteres que introduce el usuario?
2- ¿Cómo puedo hacer una entrada para que el usuario suba la imagen?
3- ¿Cómo hago para que php reconozca esa imagen y después la posicione con copyimg?*****

***** ¿Redimensionará o Recortará la imagen?

Muchísimas gracias y un saludo ;)

Comunidad PHPeros

Re:Imagen con textos predefinidos
« Respuesta #30 en: 05 de Abril de 2010, 22:18:22 pm »

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #31 en: 05 de Abril de 2010, 22:33:23 pm »
1. Con la función strlen() cuentas los caracteres y con un if verificas que los caracteres son mayores que x numero la posicion cambie a tal.
2. Puedes leer mi manual y modificarlo para que solo permita imagenes http://www.phperos.net/foro/index.php/topic,4425.0.html o nose si se puede cojer la imagen de un hosting externo que seria mucho mas facil.
3. Leete los parametros de imagecopy y mira como va todo.. la imagen la puedes poner por un post o get.
4. Para redimensionar la imagen usa la funcion imagecopyresampled()
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #32 en: 10 de Abril de 2010, 21:15:29 pm »
1. Con la función strlen() cuentas los caracteres y con un if verificas que los caracteres son mayores que x numero la posicion cambie a tal.
2. Puedes leer mi manual y modificarlo para que solo permita imagenes http://www.phperos.net/foro/index.php/topic,4425.0.html o nose si se puede cojer la imagen de un hosting externo que seria mucho mas facil.
3. Leete los parametros de imagecopy y mira como va todo.. la imagen la puedes poner por un post o get.
4. Para redimensionar la imagen usa la funcion imagecopyresampled()

Procedo con la primero, y las demás las dejo para más tarde...

Bueno, ya he hecho más o menos lo que sería, pero me parece que esto es algo garrafalmente erróneo. Espero que lo sea porque como tenga que repetir ese proceso con los demás me va a dar un jamacuco... No, lo que pasa que me parece una estructura muy rara, y quería pediros algún consejo o algo...

Muchas gracias y un Saludo ;)

<?php
$nick 
$_POST[&#39;nick&#39;];
$gamertag $_POST[&#39;gamertag&#39;];
$psn $_POST[&#39;psn&#39;];
$wii $_POST[&#39;wii&#39;];
$steam $_POST[&#39;steam&#39;];

header(&#39;Content-type: image/png&#39;);
$font = &#39;arial.ttf&#39;;
$imagen imagecreatefrompng("imagen.png");
$negro imagecolorallocate($imagen,0,0,0);
$carac_nick strlen($nick);
$carac_gamertag strlen($gamertag);
$carac_psn strlen($psn);
$carac_wii strlen($wii);
$carac_steam strlen($steam;)


if(
$carac_nick<2){
	
 echo &
#39;Tu nick debe constar de al menos 2 carácteres&#39;;
	
 }else{
	
 
imagettftext($imagen1202169$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=3){
	
 
imagettftext($imagen1202159$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=4){
	
 
imagettftext($imagen1202149$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=5){
	
 
imagettftext($imagen1202139$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=6){
	
 
imagettftext($imagen1202129$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=7){
	
 
imagettftext($imagen1202119$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=8){
	
 
imagettftext($imagen1202109$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=9){
	
 
imagettftext($imagen1202099$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=10){
	
 
imagettftext($imagen1202089$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=11){
	
 
imagettftext($imagen1202079$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=12){
	
 
imagettftext($imagen1202069$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=13){
	
 
imagettftext($imagen1202059$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=14){
	
 
imagettftext($imagen1202049$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=15){
	
 
imagettftext($imagen1202039$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick=16){
	
 
imagettftext($imagen1202029$negro$fontsubstr($nick016));
	
 }elseif(
$carac_nick<16){
	
 echo &
#39;Tu Nick no puede sobrepasar los 16 carácteres&#39;;
	
 
	
 
	


// imagettftext($imagen, 12, 0, 216, 9, $negro, $font, substr($nick, 0, 16));
imagettftext($imagen120282170$negro$fontsubstr($gamertag016));
imagettftext($imagen120282192$negro$fontsubstr($psn016));
imagettftext($imagen120282229$negro$fontsubstr($wii016));
imagettftext($imagen120282264$negro$fontsubstr($steam016));

imagepng($imagen);
imagedestroy($imagen);
?>

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #33 en: 10 de Abril de 2010, 21:18:16 pm »
No me he leido bien tu código pero a simple vista veo muchos echo, porque cuándo se trata con imagenes no se deben poner textos, sería mejor que quites esos echo o el código te dara error.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #34 en: 10 de Abril de 2010, 21:22:58 pm »
No me he leido bien tu código pero a simple vista veo muchos echo, porque cuándo se trata con imagenes no se deben poner textos, sería mejor que quites esos echo o el código te dara error.

¿Y no hay alguna manera de poner la imagen resultante en una página HTML, donde pueda poner echos tranquilamente?

Mantengo lo del código, quisiera saber alguna manera de simplificarlo (si es que la hay jeje).

Un Saludo y Muchas gracias :)

Desconectado Rodrinete

  • PHPer@ Fijo
  • ***
  • Mensajes: 222
  • Karma: 6
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #35 en: 10 de Abril de 2010, 21:43:21 pm »
Es simple, lo haces desde otro archivo.

Por ejemplo, las imagenes las generas en imagen.php.

ejemplo.php

<img src="imagen.php">
<?
php
echo "blablablabla";
?>

Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #36 en: 10 de Abril de 2010, 22:21:59 pm »
Es simple, lo haces desde otro archivo.

Por ejemplo, las imagenes las generas en imagen.php.

ejemplo.php

<img src="imagen.php">
<?
php
echo "blablablabla";
?>


Entonces quedaría así:

formulario.html
resultado.html // en su interior iría el <img src="script.php"
script.php // donde se ejecutaría todo el código

Osea que el formulario no tengo que tocarlo, el resultado simplemente insertarle el <img src...> y el script es donde iría lo demás ¿No?

Muchísimas gracias Rodri, me has resuelto una de mis dudas ;)

1. Con la función strlen() cuentas los caracteres y con un if verificas que los caracteres son mayores que x numero la posicion cambie a tal.
2. Puedes leer mi manual y modificarlo para que solo permita imagenes http://www.phperos.net/foro/index.php/topic,4425.0.html o nose si se puede cojer la imagen de un hosting externo que seria mucho mas facil.
3. Leete los parametros de imagecopy y mira como va todo.. la imagen la puedes poner por un post o get.
4. Para redimensionar la imagen usa la funcion imagecopyresampled()

Aún así, quisiera que os fijaráis en la estructura, ya que repetir todo ese proceso con otras 4 o 5 varialbes, puede ser infinito...

Muchísimas gracias de antemano y un saludo ;)

<?php
$nick 
$_POST[&#39;nick&#39;];
$gamertag $_POST[&#39;gamertag&#39;];
$psn $_POST[&#39;psn&#39;];
$wii $_POST[&#39;wii&#39;];
$steam $_POST[&#39;steam&#39;];

header(&#39;Content-type: image/png&#39;);
$font = &#39;arial.ttf&#39;;
$imagen imagecreatefrompng("imagen.png");
$negro imagecolorallocate($imagen,0,0,0);
$carac_nick strlen($nick);
$carac_gamertag strlen($gamertag);
$carac_psn strlen($psn);
$carac_wii strlen($wii);
$carac_steam strlen($steam;)


if(
$carac_nick<2){
echo &
#39;Tu nick debe constar de al menos 2 carácteres&#39;;
}else{
imagettftext($imagen1202169$negro$fontsubstr($nick016));
}elseif(
$carac_nick=3){
imagettftext($imagen1202159$negro$fontsubstr($nick016));
}elseif(
$carac_nick=4){
imagettftext($imagen1202149$negro$fontsubstr($nick016));
}elseif(
$carac_nick=5){
imagettftext($imagen1202139$negro$fontsubstr($nick016));
}elseif(
$carac_nick=6){
imagettftext($imagen1202129$negro$fontsubstr($nick016));
}elseif(
$carac_nick=7){
imagettftext($imagen1202119$negro$fontsubstr($nick016));
}elseif(
$carac_nick=8){
imagettftext($imagen1202109$negro$fontsubstr($nick016));
}elseif(
$carac_nick=9){
imagettftext($imagen1202099$negro$fontsubstr($nick016));
}elseif(
$carac_nick=10){
imagettftext($imagen1202089$negro$fontsubstr($nick016));
}elseif(
$carac_nick=11){
imagettftext($imagen1202079$negro$fontsubstr($nick016));
}elseif(
$carac_nick=12){
imagettftext($imagen1202069$negro$fontsubstr($nick016));
}elseif(
$carac_nick=13){
imagettftext($imagen1202059$negro$fontsubstr($nick016));
}elseif(
$carac_nick=14){
imagettftext($imagen1202049$negro$fontsubstr($nick016));
}elseif(
$carac_nick=15){
imagettftext($imagen1202039$negro$fontsubstr($nick016));
}elseif(
$carac_nick=16){
imagettftext($imagen1202029$negro$fontsubstr($nick016));
}elseif(
$carac_nick<16){

echo &
#39;Tu Nick no puede sobrepasar los 16 carácteres&#39;;

// imagettftext($imagen, 12, 0, 216, 9, $negro, $font, substr($nick, 0, 16));
imagettftext($imagen120282170$negro$fontsubstr($gamertag016));
imagettftext($imagen120282192$negro$fontsubstr($psn016));
imagettftext($imagen120282229$negro$fontsubstr($wii016));
imagettftext($imagen120282264$negro$fontsubstr($steam016));

imagepng($imagen);
imagedestroy($imagen);
?>
« Última modificación: 11 de Abril de 2010, 12:03:55 pm por WildWolf360 »

Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #37 en: 21 de Abril de 2010, 17:44:22 pm »
Echadme una ayudita por favor ;)

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re:Imagen con textos predefinidos
« Respuesta #38 en: 21 de Abril de 2010, 23:08:34 pm »
Ya que haces doblepost al menos explica tu ultima duda :D
Por favor, leete las Normas


Desconectado marco811

  • PHPero Avanzado
  • ****
  • Mensajes: 306
  • Karma: 16
  • Sexo: Masculino
  • ¡¡Hola mundo!!
    • Ver Perfil
    • Personalidad Web
Re:Imagen con textos predefinidos
« Respuesta #39 en: 21 de Abril de 2010, 23:45:25 pm »
Veo que sigues poniendo echo en vez de imagettftext, deberías corregirlo, ya que el formato PNG no lee texto plano, y imagettftext convierte el texto plano a un formato adecuado para las imágenes PNG. Talvez sea ese el único error que tengas.
Un saludo!