如何连接code图像资源为Base64? [英] How to encode an image resource to base64?
本文介绍了如何连接code图像资源为Base64?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不知道是否有一种方法可以连接code图像到Base64如果它是一个资源
例如,如果我装使用GD的图像
$图像= imagecreatefromjpeg(CAPTCHA / $ captcha- $ num.jpg); //添加一些过滤器
的ImageFilter($形象,IMG_FILTER_PIXELATE,1,TRUE);
的ImageFilter($形象,IMG_FILTER_MEAN_REMOVAL);
如果这是我的code和而不是保存图像,并使用显示它
< IMG SRC ='someimage.jpg'>
我想将其显示为URI数据,而无需保存它,就像
< IMG数据='SRC =数据:图像/ JPEG; BASE64,BASE64_HERE'>
我怎么能这样做?
解决方案
$图像= imagecreatefromjpeg(CAPTCHA / $ captcha- $ num.jpg);//添加一些过滤器
的ImageFilter($形象,IMG_FILTER_PIXELATE,1,TRUE);
的ImageFilter($形象,IMG_FILTER_MEAN_REMOVAL);ob_start(); //让我们开始输出缓冲。
imagejpeg($图像); //这通常输出的图像,但由于ob_start()的,它不会。
$内容= ob_get_contents(); //相反,上面的输出保存到$内容
ob_end_clean(); // END输出缓冲区。$ dataUri =数据:图像/ JPEG; BASE64。 base64_en code($内容);
I was wondering if there's a way to encode an image to a base64 if it was a resource for example if I loaded an image using GD
$image = imagecreatefromjpeg("captcha/$captcha-$num.jpg");
// Add some filters
imagefilter($image, IMG_FILTER_PIXELATE, 1, true);
imagefilter($image, IMG_FILTER_MEAN_REMOVAL);
If this was my code and instead of saving the image and displaying it using
<img src='someimage.jpg'>
I wanted to display it as a data URI without having to save it, like
<img data='src="data:image/jpeg;base64,BASE64_HERE'>
How can I do that?
解决方案
$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);
这篇关于如何连接code图像资源为Base64?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文