Foros del Web » Programando para Internet » PHP »

Caja de texto sobre imagen

Estas en el tema de Caja de texto sobre imagen en el foro de PHP en Foros del Web. Hola a todos Os cuento el problema al que no logro encontrar una solución. Estoy generando imágenes dinámicas con la libreria GD a las cuales ...
  #1 (permalink)  
Antiguo 29/07/2008, 08:28
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Caja de texto sobre imagen

Hola a todos

Os cuento el problema al que no logro encontrar una solución.

Estoy generando imágenes dinámicas con la libreria GD a las cuales tengo que añadir texto. El problema es que el texto puede ser algo extenso lo que supondría contar con varias líneas.

En otras palabras, lo que quiero hacer es pasarle un texto largo a una imagen y que se imprima en esta como un bloque o caja de texto (en varias líneas, no que se quede cortado el texto) No se si me explico...

Estoy usando la función imagettftext. También he visto la función imagettfbbox pero no se muy bien como funciona...

¿Alguién me podría ayudar?

Un saludo y muchas gracias!
  #2 (permalink)  
Antiguo 29/07/2008, 08:51
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: Caja de texto sobre imagen

LEE PLIS


http://cl2.php.net/manual/es/function.imagettfbbox.php
  #3 (permalink)  
Antiguo 29/07/2008, 10:25
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Caja de texto sobre imagen

Algún ejemplillo para la función imagettfbbox ?? ¿Serviría para eso? No consigo entenderla...

Muchas gracias!
  #4 (permalink)  
Antiguo 29/07/2008, 10:41
Avatar de KATICA  
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Caja de texto sobre imagen

Cita:
Iniciado por santacenero Ver Mensaje
Algún ejemplillo para la función imagettfbbox ?? ¿Serviría para eso? No consigo entenderla...

Muchas gracias!


mira esto haber si te sirve:

imagettftext($im, 20, 0, 10, 20, $negro, $fuente, $texto);

pero ojo por que estas funciones requieren biblioteca GD


pasate por este link: http://www.php.net/imagettftext ahi encontraras lo que necesitas... espero te sirva
  #5 (permalink)  
Antiguo 29/07/2008, 11:03
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Caja de texto sobre imagen

Ya he encontrado una solución. Os pongo el método de una clase que he llamado Ticket.


Código:
function addTextBlock($text){	
		
                                $lin = 1;
		$temp = '';				
		for($i=0; $i<strlen($text); $i++){ 
			$lin = $lin + 1;
			$temp .= $text[$i]; 
			if ($lin > 25){
				$lin = 1;
				$this->addTextLine($temp);
				$temp = '';
			}
		}
		$this->addTextLine($temp);
	}
Voy recorriendo el texto y cada X caracteres imprimo la subcadena como una línea con imagettftext. El método addTextLine automáticamente imprime en a continuación de la anterior línea impresa. No se si habrá una manera mejor, pero funciona...


Saludos y muchas gracias!
  #6 (permalink)  
Antiguo 29/07/2008, 13:13
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Caja de texto sobre imagen

Nueva versión mejorada:

Código:
function addTextBlock($text){	

		$tam = 30; // tamaño máximo 
		$count = 0; 

		$words = split(' ',$text); 
		$line = ''; 
		
		while($count < sizeof($words)){

			$line .= ' '.$words[$count]; 
			if(strlen($line) + strlen($words[$count]) > $tam){
				$this->addTextLine($line);				
				$line = ''; 
			}
			$count++;
		}
		$this->addTextLine($line);		
	}
Saludos!
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 08:46.