PHP:¿Cómo puedo generar textos en diferentes fuentes usando imágenes?

De Foros del Web

Es un truco para poder presentar textos con fuentes diferentes a las tradicionales en la página web sin complicaciones mayores.

Los requisitos para hacer posible este truco son disponder de un hosting con PHP y tener ciertas nociones de este lenguage.

pasos a seguir:

1. Selecciona del panel de control la fuente que más te guste (Panel de Control >> Fuentes) y arrástrala hasta el escritorio. Es la manera más fácil de copiar la fuente. dale un nombre significativo, por ejemplo "fuente.ttf".

2. Sube la fuente a la carpeta donde guardas las imágenes en el servidor.

3. Sube también este archivo en PHP en la misma carpeta donde guardas las imágenes. llamale "text.jpg.php":

Código:

<?php
header("Content-type: image/jpeg");
 
// constants
define("FONT_SIZE", "24");
define("FONT_FAMILY", "fuente.ttf");
 
// parameters
$text = isset($_REQUEST["text"])? $_REQUEST["text"]: "???";
 
// image dimensions
$box = imagettfbbox(FONT_SIZE, 0, "zecbt.ttf", $text);
$width = FONT_SIZE + 4;
$height = $box[2] - $box[0] + 10;
 
// new image
$img = @imagecreate($height, $width);
imagecolorallocate($img, 0xff, 0xff, 0xff);  // white
 
// text
$black = imagecolorallocate($img, 0x00, 0x00, 0x00);  // black
imagettftext($img, FONT_SIZE, 0, 0, $width - 6, $black, FONT_FAMILY, $text);
 
imagejpeg($img);
imagedestroy($img);
?>

4. Sube a tu servidor una página que contenga la siguiente línea. llámale "prueba.php":

Código:

<img src="images/text.jpg.php?text=<?=urlencode("Este texto tiene una fuente diferente a la usual")?>"  />

"urlencode" se utiliza para formatear el texto antes de pasarlo como parámetro. en este caso la frase "Este texto tiene una fuente diferente a la usual" la convertiría a "Este+texto+tiene+una+fuente+diferente+a+la+us ual"

al abrir la página puedes ver una imagen que muestra el texto en la fuente seleccionada.

parece un poco complicado, pero luego puedes reutilizar el script "text.jpg.php" en muchos sitios de tu página.


--haron 29 Mar 2006

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales