当前位置: 首页 > 后端技术 > PHP

使用阿里云接口实现证件照制作

时间:2023-03-29 22:04:31 PHP

在制作证件照之前,我使用了face++的人像抠图,实现了对face++抠出的透明图片加上我设置的背景,实现了证件照的制作。后来我发现,如果我拍的照片不是很正式,我就用抠图来增加底色。后期的证件照感觉不太好。后来发现阿里云有自动制作证件照的接口证件照制作地址:https://market.aliyun.com/products/57124001/cmapi030523.html1:证件照制作接口前期准备1:购买证件照制作界面包使用证件照制作界面前,您需要购买界面包。购买后我们会在管理控制台看到接口包对应的接口需要的一些信息阿里云管理控制台地址:https://market.console.aliyun.com/imageconsole/index.htm2:证件照制作接口调用地址http(s)://alidphoto.aisegment.com/idphoto/make3:证件照制作接口必填header'Content-Type'=>'application/json;charset=UTF-8','Authorization'=>'APPCODEXXXXXX(管理控制台看到的AppCode)'4:post参数{"type":"jpg",#图片类型,目前支持"jpg"和"jpg"两种类型"png""photo":'图片数据的BASE64编码',"spec":"证件照规格ID",//证件照规格表"bk":"背景色"//见证证件照颜色表}证件照规格及背景色查看pdf下载:开发接口参考文档-证件照规格表.pdf5:证件照制作简单示例:$img='证件照图片地址';$data=['type'=>'jpg','photo'=>$this->fileToBase64($img),'spec'=>115,//证件照规格'bk'=>'#338FB2'//证件照背景色];$url='https://alidphoto.aisegment.com/idphoto/make';$客户=新客户();$响应=$client->createRequest()->setMethod('POST')//请求方法->setUrl($url)//请求地址->setData($data)//数据传输数组->setFormat(Client::FORMAT_JSON)->setHeaders(['Content-Type'=>'application/json;charset=UTF-8','Authorization'=>'APPCODEXXX'])//header->send();$result=$response->data;if($response->isOk){$data=$result['data'];如果($result['status']==0){$img=$data['result'];$saveFile='保存证件照地址';$content=file_get_contents($img);$saveImg=file_put_contents($saveFile,$content);}}else{echo$response->data['errmsg'];}将图片转base64方法如下:/***Imagetobase64*/publicfunctionfileToBase64($file){$base64_file='';if(file_exists($file)){$mime_type=mime_content_type($file);$base64_data=base64_encode(file_get_contents($file));$base64_file='data:'.$mime_type.';base64,'.$base64_data;}返回$base64_file;}根据上面可以实现证件照制作功能