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.
¿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.
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