Fuentes como imágenes con PHP + GD

Como no podía ser de otra manera, Franhp ha hecho crítica constructiva del post anterior y me ha dicho:

– No entiendo por qué en vez de utilizar un recurso exterior no lo haces con PHP + GD.

Yo le he contestado  “Claaaaaaaaro”. He usado un recurso exterior (libreria .js) porqué fue una cosa que encontré sobre la marcha en un blog, y como me llamó la atención os expliqué como se hace. Ahora bien, si franhp quiere hacerlo en GD yo lo hago en GD.

Aquí os enseño dos formas de hacer algo parecido, aunque más currado.

Primera manera: gd puro

Esta forma no necesita importar una fuente. Todo se genera con PHP y GD. http://filadeatras.com/files/fuente_gd/Manera1/

header("Content-type: image/jpeg"); //tipo del archivo, imagen jpeg
$texto = "FilaDeAtras: Comunidad hacker"; //texto
$fuente = 5 ; //tamaño de la fuente, de 1 a 5
$ancho  = ImageFontWidth($fuente) * strlen($texto) + 6; //ancho de la imagen
$alto = ImageFontHeight($fuente) + 6; //alto de la imagen
$imagen = @imagecreatetruecolor ($ancho, $alto); //creamos el fondo
//le añadimos color de fondo
$background_color = imagecolorallocate ($imagen, 255, 255, 255);
//y el color del texto
$text_color = imagecolorallocate ($imagen, 0, 255, 0);
//enclastamos el texto
imagestring ($imagen, $fuente, 3, 2,  $texto, $text_color);
imagejpeg ($imagen); //creamos la imagen para visualizarla
imagedestroy($imagen); //la borramos del servidor

Segunda manera: gd + imagen de fondo

Es la forma que queda mejor. Requiere una imagen de fondo y una fuente ttf. http://filadeatras.com/files/fuente_gd/Manera2/

//tipo del archivo que se creará dinámicamente, imagen jpeg
header('Content-type: image/jpeg');
//ruta de la imagen de fondo
$imagen = imagecreatefromjpeg('vicky.jpeg');
$blanco = imagecolorallocate($imagen, 255, 255, 255); //color blanco
$azul = imagecolorallocate($imagen, 0, 255, 255); //color azul

//fusionamos los elementos con imagefttext(), atributos por orden:
//ruta_imagen, tamaño_fuente, grado_inclinación, margen_izquierdo,
//margen_superior, color, ruta_tipografía, cadena_texto
imagefttext($imagen, 80, 0, 250, 210, $azul, 'AngelicWar.ttf', 'Vicky');
imagefttext($imagen, 50, 0, 35, 325, $blanco, 'AngelicWar.ttf', 'El Vikingo Fumeta');

imagejpeg($imagen); //creamos la imagen para que se visualice
imagedestroy($imagen); //la borramos
****½12votes
2 Comentarios »  | Categorías:  internet, PHP Tags: , ,

2 Responses to Fuentes como imágenes con PHP + GD

  1. franhp says:

    Eres un crack!!
    Queda constancia de que te debo tantas cañas como horas le has dedicado a este descubrimiento.

Leave a Reply

Your email address will not be published. Required fields are marked *