首页 > 解决方案 > 如何在不保存到文件的情况下以 HTML 格式显示图像

问题描述

我用 PHP 创建一个图像imagestring和一个文本。我知道imagepng($image)没有 $filepath 在网页中显示图像,但我想知道是否可以通过 HTML 显示图像(使用 div 和标签)而不用imagepng(). 我在下面使用 PHP 代码:

<?php
$image = imagecreatetruecolor(100, 100);
$white = imagecolorallocate ($image,255,255,255);
$black = imagecolorallocate ($image,0,0,0);
imagefill($image,0,0,$white);
imagestring($image, 5, 31, 50, 'text', $black );
header('Content-Type: image/png');
imagepng($image);
#phpinfo();
?>

<!DOCTYPE html>
<html>
<div>
<!-- want to show image created by imagestring() here -->
</div>
</html>

标签: phphtmlimage

解决方案


试试这个

<?php
$image = imagecreatetruecolor(100, 100);
$white = imagecolorallocate ($image,255,255,255);
$black = imagecolorallocate ($image,0,0,0);
imagefill($image,0,0,$white);
imagestring($image, 5, 31, 50, 'text', $black );

ob_start();
imagepng($image);
$imagedata = ob_get_clean();
$b64image = base64_encode($imagedata);

$html = <<<EOD
<!DOCTYPE html>
<html>
<div> 
<img src="data:image/png;base64, $b64image" /> 
</div>
</html>
EOD;

echo $html;
?>

推荐阅读