Lenguaje PHP

Convertir texto en una imagen usando php

Convertir texto en una imagen usando php. Las funciones basadas en imágenes están en la biblioteca GD y podemos utilizarlas por ejemplo para convertir texto en una imagen. Sin embargo, antes de eso, tenemos que asegurarnos de que la biblioteca GD está activada dentro de nuestro servidor en la configuración php.ini.

Convertir texto en una imagen usando php

Por lo tanto, para visualizar si esta activa podemos recurrir a la función php phpinfo() para comprobar si el GD está habilitado en nuestro servidor.

Convertir texto en imagen usando php
Convertir texto en imagen usando php

¿Cómo funciona este sistema?

Funciona gracias a un formulario para realizar una tarea dinámica, enviando un texto a través de un formulario HTML al código php. Por lo tanto, este lenguaje invoca a las funciones de la biblioteca GD para convertir este texto en una imagen que será mostrada en el navegador.

<form class="form-inline" name="form" id="form" method="post" action="index.php"
        enctype="multipart/form-data" onSubmit="return validateForm();">
      <br>
  <div class="form-group mx-sm-3 mb-2">
    <label for="inputPassword2" class="sr-only">Ingrese Texto:</label>
    <input type="text" class="form-control"  name="txt_input" maxlength="50">
  </div>
  <button type="submit" class="btn btn-primary mb-2">Convertir Texto</button>
</form>

A continuación, este sistema posee un sistema de validación de campos en JavaScript. Si no se introduce ningún texto en el formulario. Este devolverá un mensaje de error.

if(document.form.txt_input.value == "") {
        document.getElementById("validation-response").style.display = "block";
        // Validacion si la caja de texto esta vacia
        document.getElementById("validation-response").innerHTML = "Cuadro de texto esta vacio";
        valid = false;
}

Conversión de texto a una imagen mediante funciones PHP GD

En el lenguaje PHP es fácil implementar funciones de la biblioteca GD, podemos convertir la entrada de texto a una imagen. Sin embargo, también podemos asignar una fuente para cambiar la fuente del texto y los colores de la imagen generada.

if (!empty($_POST['txt_input'])) {
    $input_text = $_POST['txt_input'];
    $width = (strlen($input_text)*13)+20;
    $height = 90;
    
    $textImage = imagecreate($width, $height);
    $color = imagecolorallocate($textImage, 0, 0, 0);
    imagecolortransparent($textImage, $color);
 
   $black = imagecolorallocate($textImage, 255, 255, 255);   
    // Crear capa de la imagen de fondo
    $background = imagecreatefromjpeg('img/fondo.jpg');
    // Asignamos una fuente a nuestro Còdigo
    $font = 'rock.ttf';
    imagettftext ($textImage, 20, 0, 10, 40, $black, $font, $input_text);
 
    // Fusionar imágenes de fondo y capas de imágenes de texto
    imagecopymerge($background, $textImage, 15, 15, 0, 0, $width, $height, 100);

    $output = imagecreatetruecolor($width, $height);
    imagecopy($output, $background, 0, 0, 20, 13, $width, $height);    
    ob_start();
    imagepng($output);
    printf('<img id="output" src="data:image/png;base64,%s" />', base64_encode(ob_get_clean()));
}

Texto de php a la salida de conversión de imagen

En esta imagen podemos observar la salida final después de convertir la entrada de texto a una imagen.

Convertir texto en una imagen usando php
Convertir texto en una imagen usando php

CONCLUSIÓN

La creación de imágenes a través de PHP, suele ser muy fácil de implementar. Por lo tanto, en este artículo estamos haciendo un ejemplo para todos ustedes.

Este ejemplo puede ser útil para crear captchas personalizados usando PHP para nuestros formularios.

DESCARGAS

Vista Previa Descargar Código Fuente

 

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba