【问题标题】:How to how image in HTML without saving to file如何在不保存到文件的情况下以 HTML 格式显示图像
【发布时间】:2021-12-20 18:37:55
【问题描述】:

我用imagestring 和 PHP 的文本创建了一个图像。我知道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>

【问题讨论】:

  • 将图像生成器脚本创建为一个完全独立的脚本 - 称为 blah.php 并在 img 标记中使用它 - &lt;img src='blah.php' /&gt;?
  • @ProfessorAbronsius 我想在同一个文件中执行此操作,不要使用 url 作为源路径
  • 唉,你不能在同一个文件中输出 HTML 和类似的图像。
  • 是否可以防止imagepng占用网页?

标签: php html image


【解决方案1】:

试试这个

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

【讨论】:

  • @Hatem 不幸的是,这不起作用。该页面由 php 部分显示图像!就像在添加这些更改之前一样
  • @SaeedEisakhani 检查更新的代码
猜你喜欢
  • 2014-04-17
  • 1970-01-01
  • 2022-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-08
  • 2017-11-10
相关资源
最近更新 更多