PHP SLIM:如何返回动态生成的图像

PHP SLIM:如何返回动态生成的图像,php,slim,Php,Slim,我试图显示一个动态生成的图像从斯利姆控制器,但我得到一个空白屏幕。 谢谢 base64编码$im将不会创建有效的PNG文件。尝试使用并发送它创建的PNG文件的原始内容 代码如下所示: ob_start(); 图像PNG($im); $data=ob_get_contents(); ob_end_clean(); $response->getBody()->write($data); $response=$response->withHeader('Content-type','image/png

我试图显示一个动态生成的图像从斯利姆控制器,但我得到一个空白屏幕。 谢谢


base64编码
$im
将不会创建有效的PNG文件。尝试使用并发送它创建的PNG文件的原始内容

代码如下所示:

ob_start();
图像PNG($im);
$data=ob_get_contents();
ob_end_clean();
$response->getBody()->write($data);
$response=$response->withHeader('Content-type','image/png');
返回$response;

base64编码
$im
将不会创建有效的PNG文件。尝试使用并发送它创建的PNG文件的原始内容

代码如下所示:

ob_start();
图像PNG($im);
$data=ob_get_contents();
ob_end_clean();
$response->getBody()->write($data);
$response=$response->withHeader('Content-type','image/png');
返回$response;
public function textToImage($request, $response, $args) {

    // The text to draw
    $text = "Hello World";
    $length=strlen($text);
    // Create the image

    $im = imagecreatetruecolor($length*12, 30);

    // Create some colors
    $white = imagecolorallocate($im, 255, 255, 255);
    $grey = imagecolorallocate($im, 128, 128, 128);
    $black = imagecolorallocate($im, 44, 62, 80);
    $boxcolor=imagecolorallocate($im, 95, 128, 149);

    $font = 'Helvetica.ttf';
    imagefilledrectangle($im, 0, 0, $length*9+$capitaladjust, 29, $white);
    imagettftext($im, 13, 0, 0, 20, $black, $font, $text);

    $response->getBody()->write(base64_encode($im));
    $response = $response->withHeader('Content-type', 'image/png');     
    return $response;
 }