微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何将图像资源编码为base64?

我想知道是否有一种方法可以将图像编码为base64(如果它是一个资源)
例如,如果我使用GD加载图像

    $image = imagecreatefromjpeg("captcha/$captcha-$num.jpg");

    // Add some filters
    imagefilter($image, IMG_FILTER_PIXELATE, 1, true);
    imagefilter($image, IMG_FILTER_MEAN_REMoval);

如果这是我的代码而不是保存图像并使用它来显示

<img src='someimage.jpg'>

我希望将其显示为数据URI而不必保存它,例如

<img data='src="data:image/jpeg;base64,BASE64_HERE'>

我怎样才能做到这一点?

解决方法:

$image = imagecreatefromjpeg("captcha/$captcha-$num.jpg");

// Add some filters
imagefilter($image, IMG_FILTER_PIXELATE, 1, true);
imagefilter($image, IMG_FILTER_MEAN_REMoval);

ob_start(); // Let's start output buffering.
    imagejpeg($image); //This will normally output the image, but because of ob_start(), it won't.
    $contents = ob_get_contents(); //Instead, output above is saved to $contents
ob_end_clean(); //End the output buffer.

$dataUri = "data:image/jpeg;base64," . base64_encode($contents);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐