经常在开发中遇到需要给上传的图片打水印的情况,这里参考案例:
先安装扩展
使用Composer安装ThinkPHP5的图像处理类库:
composer require topthink/think-image
装完后后端代码如下
public function upload_idcard_a(){
$user=$this->chk_login();
$user=Db::table('e_user')->where('uid',$user['uid'])->find();
if($user['pass']==1){
echo '{"status":0,"content":"已上传并审核通过无法修改"}';
}
$base64_string = $_POST['base64_string'];
$savename = uniqid().'.jpeg';//localResizeIMG压缩后的图片都是jpeg格式
$savepath = 'idcard/'.$savename;
$url='/';
$image = $this->base64_to_img( $base64_string, $savepath );
$oss='/idcard/'.$savename;
$image = hinkImage::open('.'.$oss);
$image->text('仅授权XX科技公司使用','./static/font/msyh.ttf',40,'#CCCCCC', hinkImage::WATER_SOUTHEAST,0,40)->save('.'.$oss);
Db::table('e_user')->where('uid="'.$user['uid'].'"')->update(['idcard_a' => $oss]);
if($oss){
echo '{"status":1,"content":"上传成功","url":"'.$oss.'"}';
}else{
echo '{"status":0,"content":"上传失败"}';
}
}
原文链接:https://www.qiquanji.com/post/8916.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知