简体   繁体   English

将base64转换为图像大小调整并在php中编码

[英]Convert base64 to image resize and encode in php

I am using html5 file api to preview a image in browser and then saving it to database as base64 string using ajax. 我正在使用html5文件api在浏览器中预览图像,然后使用ajax将其作为base64字符串保存到数据库。

I need to reduce the quality in order to resize the image. 我需要降低质量以调整图像大小。

<?php

$img = $_POST['img'];
$i = explode(",",$img);

$img = $i[1];
$img = imagecreatefromstring[$img];
$rimg = imagejpeg($img,XXXXXXX, 60);

?>

xxx=> how could I turned it back to base64?

thanks in advance. 提前致谢。

From http://php.net/manual/en/function.imagejpeg.php 来自http://php.net/manual/en/function.imagejpeg.php

 /*
 * imageXXX() only has two options, save as a file, or send to the browser.
 * It does not provide you the oppurtunity to manipulate the final GIF/JPG/PNG file stream
 * So I start the output buffering, use imageXXX() to output the data stream to the browser,
 * get the contents of the stream, and use clean to silently discard the buffered contents.
 */
ob_start();

switch ($image_type)
{
    case 1: imagegif($tmp); break;
    case 2: imagejpeg($tmp, NULL, 100);  break; // best quality
    case 3: imagepng($tmp, NULL, 0); break; // no compression
    default: echo ''; break;
}

$final_image = ob_get_contents();

ob_end_clean();

return $final_image;

or save to the file, then load the file as binary stream, base 64 the binary and delete the file 或保存到文件,然后以二进制流的形式加载文件,以64为基数并删除文件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM