3

如何从 PHP 中的图像资源中获取 base64 字符串?但是请注意,我是即时制作的图像,因此不存在 URL。

这是我尝试过的,但它不起作用:

echo 'data:image/png;base64,'.base64_encode($img);

这给出了一个错误:

Warning: base64_encode() expects parameter 1 to be string, resource given
4

1 回答 1

6

不幸的是,没有办法告诉 GD 将您的图像作为二进制字符串返回。GD 只支持写入文件或屏幕。我们可以做的是使用输出缓冲来捕获它的输出,然后把它放在一个字符串中。

ob_start();
imagepng($img);
$image = ob_get_clean();

echo 'data:image/png;base64,'.base64_encode($image);
于 2013-11-07T16:05:05.720 回答