Estoy tratando de crear una forma de mostrar una imagen creada con PHP/GD, en una forma de OOP. Para lograr eso, creé una clase que, entre otras cosas, crea una imagen. Algo como esto:¿Puedo mostrar una imagen creada con PHP/GD sin guardar y sin usar PHP externo con encabezado de imagen?
<?php
class MyClass
{
public $image;
function __construct()
{
...
$this->image = imagecreatetruecolor(100,100);
$bg = imagecolorallocate($this->image,100,100,100);
imagefilledrectangle($this->image,0,0,100,100,$bg);
...
}
...
}
$myvar = new MyClass
?>
Intenté crear una función dentro de la clase que daría salida a la imagen. Algo como esto:
function show()
{
echo "<img src='" . imagejpeg($this->image,100) . "' />";
}
pero no funcionó. También probé
function show()
{
echo "<img src='data:image/jpeg;base64," . imagejpeg($this->image,100) . "' />";
}
pero esto tampoco funcionó. La idea era simplemente llamar a la función desde el HTML. De esta manera:
<div id='anyid'>
<?php $myvar->show(); ?>
</div>
¿Estoy yendo todo mal en esto? ¿Hay alguna manera de lograr lo que quiero? Traté de pensar en una forma de usar el img = 'mycode.php' pero no me funciona porque la clase debe crearse antes de que la página se cargue y la imagen aparezca a mitad de la página.
Gracias.
Casi lo tenía con show() - solo necesita base64_encode la salida – Aknosis