之前制作证件照应用 face++ 的人像抠图和本人实现向 face++ 抠出来的透明图加上本人设置的背景实现证件照的制作,前面发现如果拍的照片不是很正规的话,应用抠图再减少背景色后制作成的证件照感觉不是很好,起初发现阿里云有一个主动证件照制作的接口
证件照制作地址:https://market.aliyun.com/products/57124001/cmapi030523.html
一:证件照制作接口后期筹备
1:购买证件照制作接口包
在应用证件照制作接口之前须要购买接口包,购买之后咱们会在治理控制台看到接口包对应的一些接口所需信息
阿里云治理控制台地址:https://market.console.aliyun.com/imageconsole/index.htm
2:证件照制作接口调用地址
http(s)://alidphoto.aisegment.com/idphoto/make
3:证件照制作接口所需 header
'Content-Type'=>'application/json; charset=UTF-8',
'Authorization' => 'APPCODE XXXXXX(治理控制台看到的 AppCode)'
4:post 传参
{
"type": "jpg", # 图片类型,目前反对 "jpg" 和 "png" 两种类型
"photo": '图片数据 BASE64 编码',
"spec": "证件照规格 ID", // 见证件照规格列表
"bk": "背景色彩" // 见证件照色彩列表
}
证件照规格和背景色彩查看 pdf 下载:开发接口参考文档 - 证件照规格列表.pdf
5:证件照制作简略实例:
$img = '证件照图片地址';
$data = [
'type' => 'jpg',
'photo' => $this->fileToBase64($img),
'spec' => 115,// 证件照规格
'bk' => '#338FB2'// 证件照背景色彩
];
$url = 'https://alidphoto.aisegment.com/idphoto/make';
$client = new Client();
$response = $client->createRequest()
->setMethod('POST') // 申请形式
->setUrl($url) // 申请地址
->setData($data) // 数据传数组
->setFormat(Client::FORMAT_JSON)
->setHeaders([
'Content-Type'=>'application/json; charset=UTF-8',
'Authorization' => 'APPCODE XXX'
]) //header
->send();
$result = $response->data;
if ($response->isOk) {$data = $result['data'];
if ($result['status'] == 0) {$img = $data['result'];
$saveFile = '证件照保留地址';
$content = file_get_contents($img);
$saveImg = file_put_contents($saveFile, $content);
}
} else {echo $response->data['errmsg'];
}
依据如上就能够实现证件照制作性能