0

我有一个生成 png 的类,在单个页面上显示结果

header('Content-Type: image/png');
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');

imagepng($png,'test.png');
imagedestroy($png);

我需要使用脚本而不是上面成功打印 png 的脚本,以便它生成几个动态创建的 png 并能够在 html 页面中解析它们。

因此,我尝试取消注释标题并返回 $png:

return $png;

在另一边解析它

$png = $obj->pngGeneratorFuntion(1,30,'blank');
imagepng($png);
imagedestroy($png);

结果看起来像这样

�PNG  IHDR.i ��PLTE���U��~tRNS@��fIDAT�c�$=�*y ���K�S����)IEND�B`��PNG  IHDR.i ��PLTE���U��~tRNS@��fIDAT�c�$i]���a�P�{O��;>IEND�B`��PNG  IHDR.i ��PLTE���U��~tRNS@��fIDAT�c�$Y����a�P�OMY�)"IEND�B`��PNG  IHDR.i ��PLTE���U��~tRNS@��fIDAT�c�$yZ/y ���TKX{U#8MIEND�B`��PNG  IHDR.i ��PLTE���U��~tRNS@��fIDAT�c�$<�2y ���&gt;�Sq��M�IEND�B`�

并且 print_r($png) 给出

Resource id #7

我怎样才能做到这一点。谢谢!

4

1 回答 1

2

如果您想直接在标签中插入图像,您可以尝试base64_encode() :HTML

$png = $obj->pngGeneratorFuntion(1,30,'blank');
echo '<img src="data:image/png;base64,'.base64_encode($png).'">';

但是直接插入图片数据并不是一个好的解决方案HTML

您可以制作一个单独的文件image_process.php并将数据发送到带有$_GET参数的该文件并返回图像内容。然后你可以使用:

<img src="image_process.php?text=ImageText" alt="" />
于 2012-08-29T07:05:55.167 回答