Могу ли я отобразить изображение, созданное с помощью PHP / GD, без сохранения и без использования внешнего PHP с заголовок изображения?

Я пытаюсь создать способ показать изображение, созданное с помощью PHP / GD, в стиле ООП. Для этого я создал класс, который, помимо прочего, создает изображение. Примерно так:

<?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
?>

Я попытался создать в классе функцию, которая выводила бы изображение. Примерно так:

function show()
{
    echo "<img src='" . imagejpeg($this->image,100) . "' />";
}

но не сработало. Я тоже пробовал

function show()
{
    echo "<img src='data:image/jpeg;base64," . imagejpeg($this->image,100) . "' />";
}

, но это тоже не сработало. Идея заключалась в том, чтобы просто вызвать функцию из HTML. Как это:

<div id='anyid'>
    <?php $myvar->show(); ?>
</div>

Я что-то не так? Есть ли способ добиться того, что я хочу? Я попытался придумать способ использовать img = 'mycode.php' , но у меня это не работает, потому что класс должен быть создан до загрузки страницы, а изображение появляется на полпути через страница.

Спасибо.

10
задан Dentra Andres 10 January 2012 в 23:10
поделиться