如何从PHP中的图像资源中获取base64字符串?但请注意,我动态制作了图像,因此不存在URL。
这是我尝试过的,但它不起作用:
echo 'data:image/png;base64,'.base64_encode($img);
这会出错:
Warning: base64_encode() expects parameter 1 to be string, resource given
答案 0 :(得分:4)
遗憾的是,无法告诉GD将图像作为二进制字符串返回。 GD仅支持写入文件或屏幕。我们可以做的是使用输出缓冲来捕获其输出,然后将其放在一个字符串中。
ob_start();
imagepng($img);
$image = ob_get_clean();
echo 'data:image/png;base64,'.base64_encode($image);