<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Leo, estoy queriendo resolver el ejercicio 1 de la guia de imagenes. El 
problema se me presenta cuando quiero centrar el texto. Abajo pego el 
codigo.<br>Segun lei en php.net la libreria GD en la funcion 
imagettftext el parametro para asignar el tamaņo del texto es en puntos 
no en pixeles, en cambio la imagen cuando se crea con la funcion 
imagecreate se crea en pixeles.<br>Averiguando logre encontrar que 1pt son 4/3 de px o 1.25px<br><br>Las
 pruebas de escritorio del codigo que pego dan resultados correctos, 
pero cuando lo pruebo el texto queda realmente muy chico en comparacion a
 como deberia de quedar y por consecuencia lo que seria centrar, ya que 
no encontre en la documentacion ninguna funcion que centre el texto sino
 es indicando las coordenadas X e Y en la funcion arriba mencionada.<br>El
 codigo funciona para las cadenas que con tamaņo de fuente 30px no 
superan el maximo de la imagen, cuando es superado este maximo y la 
fuente empieza a hacerse mas chica es donde los margenes se ven 
comprometidos.<br><br>Codigo HTML del formulario donde se ingresa la cadena de caracteres.<br><form action="imagen12.php" method="POST" enctype="text/plane">
<br>   <input type="text" name="texto" id="texto">
<br>   <input type="submit" value="enviar">
<br></form>
<br><br><br><br>Codigo PHP del archivo que lo recibe y genera la imagen.<br><?php
<br>if (isset ($_POST['texto']));
<br>{
<br>    //Creo la imagen <br>    $MaxWidth=400;
<br>    $img1 = imagecreate($MaxWidth,100);
<br>    // Color del Fondo
<br>    $azul_cielo = imagecolorallocate( $img1, 64, 226, 255 );
<br>    // Color del texto
<br>    $negro = imagecolorallocate( $img1, 255, 0, 0 );
<br>    // Archivo de fuente ttf
<br>    $fuente = "../mascotas/Font/Arial.ttf";
<br>    // Texto a escribir
<br>    $texto = $_POST['texto'];
<br>    // Font size<br>    $longtxt=strlen($texto);<br>    //Obtengo el tamaņo de la fuente en entero.<br>    $size=intval(($MaxWidth-20)/$longtxt);<br>    //Si el tamaņo supera a los 30 pixeles, lo llevo a 30 pixeles que es el maximo elegido.<br>    if($size>30) <br>    {<br>        $size=30;<br>    }<br>    //Obtengo la longitud en pixeles de la cadena, multiplico el tamaņo de la fuente por la longitud de la cadena<br>    $lenghttxt=$longtxt*$size;<br>    //Divido la longitud maxima de la imagen en la longitud en pixeles de la cadena y lo divido por dos para saber el margen<br>    //de cada lado que va a tener la cadena. Lo convierto en entero.<br>    $PosX=intval(($MaxWidth-$lenghttxt)/2);<br>    //Convierto el tamaņo de la fuente de pixeles a puntos que es como lo maneja la libreria GD segun especificacion de php.net<br>    $size=intval($size*(3/4));<br>    // Agrego el texto a la imagen<br>    imagettftext($img1,$size,0,$PosX,60,$negro,$fuente,$texto);<br>    //Muestro la imagen por pantalla<br>    header('Content-type: image/png');
<br>    imagepng($img1);
<br>    imagedestroy($img1 );
<br>}
<br>?>                                           </div></body>
</html>