Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2015, 10:33
Avatar de SirZoX
SirZoX
 
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 20 años, 4 meses
Puntos: 2
Averiguar el tamaño de la imagen en base al texto que contiene

Buenas tardes a todos.

Estoy creando un pequeño script al que le paso un texto como parámetro. Este texto por supuesto puede venir con saltos de línea, y me he encontrado el problema de que no veo el modo de calcular la altura que debería tener la imagen que se va a crear en base a esta cantidad de líneas.

Código PHP:
//Fuente definida por PHP. Leer http://www.php.net/manual/es/image.examples.php
    
$font = 2; 
    
    
//Ancho de la imagen. 
    
$w = ( imagefontwidth( $font ) * strlen( $string ) ) + 10; 

    
//Altura de la imagen. 
    
$h = imagefontheight( $font ) + 10; 

    
//Creamos una estructura de datos vacía con las medidas calculadas
    
$im = imagecreatetruecolor( $w, $h ) or die ("Error creando estructura"); 

    
//Color del texto en la imagen.
    
$color = imagecolorallocate($im, 1, 101, 124) or die ("Error imagecolorallocate");
    
    
//Incristamos el texto en el esqueleto
    
imagettftext($im, 14, 0, 5, 35, $color, '/fonts/VERDANA.TTF', $string) or die ("Error imgttftext");

    
//Creamos la imagen y la colocamos en la ruta deseada
    
imagepng( $im, "imagenes_fact-alb/$doc.png" ) or die ("No se ha creado la imagen");

    
//Se destruye la estructura
    
imagedestroy( $im ); 

    
//Imprimimos por pantalla la imagen
    
echo "<img src='imagenes_fact-alb/$doc.png' />"; 
Este es el código que tengo hasta ahora, pero genera únicamente una imagen con fondo negro y el texto que le llega, con sus saltos de línea, pero la img se corta antes.

Creo que la altura ahora mismo la mete siempre a 12, puesto que le suma 10 al tamaño de $font, pero lo que digo, no veo la manera de calcular el tamaño que voy a necesitar en base al texto que me llega.

Gracias y un saludo.