¿Generar imagen con php?

  • Autor Autor Lopezito
  • Fecha de inicio Fecha de inicio

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Hola.
Ando buscando un buen tutorial, si es posible, que halla sido probado y funcionado correctamente.
He encontrado varios tutoriales, pero suele deformar la imagen.
Lo que busco es meter una imagen .png de fondo y establecer textos con información que será proveída por una consulta mysql.
Espero que me ayuden, por el momento, seguiré googleando.
Saludos.:encouragement:
 
Para eso puedes usar las GD de php. Tiene la función imagestring (PHP: imagestring - Manual)


Insertar CODE, HTML o PHP:
<?php
// Crear una imagen de 100*30
$im = imagecreate(100, 30);

// Fondo blanco y texto azul
$fondo = imagecolorallocate($im, 255, 255, 255);
$color_texto = imagecolorallocate($im, 0, 0, 255);

// Escribir la cadena en la parte superior izquierda
imagestring($im, 5, 0, 0, 'Hello world!', $color_texto);

// Imprimir la imagen
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Si lo que quieres es mantener la proporción simplemente divide por el mismo factor alto y ancho. Por ejemplo 200x100->la mitad->100x50
 
[MENTION=17956]rucharter[/MENTION] y la imagen donde la pongo?
 
Perdón es que copie el código del ejemplo:

Simplemente tendrías que substituir

Insertar CODE, HTML o PHP:
$im = imagecreate(100, 30);

$im = imagecreatefromjpeg  ( "imagen.jpg"  ); // Imagen JPG

$im = imagecreatefrom  ( "imagen.jpg"  ); // Imagen JPG

PHP: imagecreatefrompng - Manual
 

Gracias, para cambiar de lugar el texto? 😕
 
:O lopezito :O xD usa jquery, es más amigable y rápido

Oli oe, emm a ya, tu eres franks el tio que tengo en msn xD
Pues, pero cuando yo quiera "enlazar" de la manera de llamada de imagen en formato HTML, se visualizaría?

Insertar CODE, HTML o PHP:
<img src="URL" />

Saludos.:encouragement:
 
Gracias, para cambiar de lugar el texto? 😕

Esta parte es la encargada de escribir el texto:

Insertar CODE, HTML o PHP:
// Escribir la cadena en la parte superior izquierda
imagestring($im, 5, 0, 0, 'Hello world!', $color_texto);

Para cambiarlo de lugar solo debes editar los 0 que tienes, el primero es la distancia desde la izquierda y el segundo la distancia desde arriba.
Si pones asi:
Insertar CODE, HTML o PHP:
imagestring($im, 5, 100, 200, 'Hello world!', $color_texto);

Escribirá "Hello World!" 100px desde la izquierda y 200px desde arriba.

Mas info: PHP: imagestring - Manual
Saludos
 

Tenkiu :encouragement: