将图像png转换为base64字符串时丢失数据

时间:2015-08-05 10:16:25

标签: php image png

我有一个动态生成的image.png(条形码),并以

的形式返回到html
  

<img src="data:image/png;base64,B64STR" />

但它有时会出现缺陷(白点)。

要将图像转换为base64字符串,请使用以下代码:

    ob_start();
    imagepng($img);
    $contents = ob_get_contents();
    ob_end_clean();

    return base64_encode($contents);

输出缓冲区可能是数据丢失的原因吗?我可以通过其他方式将图像转换为base64吗?

1 个答案:

答案 0 :(得分:0)

imagepng返回一个bool。不使用ob:

使用file_get_contents
return base64_encode(file_get_contents($img));