PHP将身份证正反面两张照片合成一张图片的代码

发布时间 - 2026-01-11 00:34:28    点击率:

具体代码如下,前面部分是面条代码,后面是封了一个函数,便于反复使用。注意函数前面的注释说明,因为不想给这个函数搞太多参数,所以有一些配置项就写死在函数里面了。

<?php
/*
$dst_path = "sfz-blank.jpg";
$z_path = "./z.jpg";
$f_path = "./f.jpg";
$wp_path = "sfz-wp.png";

$dst = @imagecreatefromjpeg($dst_path);
$im_z = imagecreatefromjpeg($z_path);//返回图像标识符
$im_f = imagecreatefromjpeg($f_path);//返回图像标识符
$im_wp = imagecreatefrompng($wp_path);//返回图像标识符

list($z_width,$z_height,$z_type,$z_attr)=getimagesize($z_path);
list($f_width,$f_height,$f_type,$f_attr)=getimagesize($f_path);

//imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
imagecopyresized($dst,$im_z,10,10,0,0,580,360,$z_width,$z_height);//返回布尔值
imagecopyresized($dst,$im_f,10,380,0,0,580,360,$f_width,$f_height);//返回布尔值
imagecopyresized($dst,$im_wp,10,320,0,0,600,165,600,165);//返回布尔值

imagejpeg($dst, './'.time().".jpg");
imagedestroy($dst);

echo 'ok';
*/


$path_z = "./z.jpg";
$path_f = "./f.jpg";
echo makeSfzImage($path_z, $path_f);


/**
 * 通过身份证正面和背景照片,生成一图组合图片,并打上水印
 * 需要准备一张空白图片、一张水印图片,放在/webui/member/images/目录下,并在Upload目录下建sfz目录
 * @param string $path_z,正面
 * @param string $path_f,背面
 * @return string,生成后的照片路径,注意返回的格式是:./Upload/sfz/148909883.jpg
 *
 */
function makeSfzImage($path_z, $path_f){
  /*
  * 前面几项配置信息
  */
  $path_blank = realpath('./webui/member/images/sfz-blank.jpg'); //空白图片地址,用于打底
  $path_wp = realpath('./webui/member/images/sfz-wp.png'); //水印图片地址
  $path_save = './Upload/sfz/'; //保存路径

  //导入四张图片
  $im_blank = @imagecreatefromjpeg($path_blank);
  $im_z = @imagecreatefromjpeg($path_z);//返回图像标识符
  $im_f = @imagecreatefromjpeg($path_f);//返回图像标识符
  $im_wp = @imagecreatefrompng($path_wp);//返回图像标识符

  //获取正反图片的宽高
  list($z_width,$z_height,$z_type,$z_attr)=getimagesize($path_z);
  list($f_width,$f_height,$f_type,$f_attr)=getimagesize($path_f);

  //imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
  //组合
  imagecopyresized($im_blank,$im_z,10,10,0,0,580,360,$z_width,$z_height);//返回布尔值
  imagecopyresized($im_blank,$im_f,10,380,0,0,580,360,$f_width,$f_height);//返回布尔值
  imagecopyresized($im_blank,$im_wp,10,320,0,0,600,165,600,165);//返回布尔值

  //生成
  $path_file = $path_save.time().".jpg";
  imagejpeg($im_blank, $path_file);
  imagedestroy($im_blank);

  return $path_file;
}
?>

最前面的几个是图片配置参数,大家可以根据需要修改一下即可。


# 身份证  # 正反面  # 照片合成  # PHP使用 Imagick 扩展实现图片合成  # 圆角处理功能示例  # php图片合成方法(多张图片合成一张)  # PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】  # PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】  # PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法  # php curl优化下载微信头像的方法总结  # PHP仿微信多图片预览上传实例代码  # PHP实现微信图片上传到服务器的方法示例  # 微信小程序上传图片到php服务器的方法  # PHP 图片合成、仿微信群头像的方法示例  # 布尔值  # 几个  # 放在  # 太多  # 目录下  # 并在  # 可以根据  # 死在  # 最前面  # 几项  # 想给  # 封了  # 四张  # 就写  # 一个函数  # 图组  # z_width  # list  # im_wp  # imagecreatefrompng 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何与Pusher实现实时通信?(WebSocket示例)  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel怎么实现模型属性的自动加密  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  如何快速生成高效建站系统源代码?  如何在宝塔面板中修改默认建站目录?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何正确下载安装西数主机建站助手?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  浅析上传头像示例及其注意事项  七夕网站制作视频,七夕大促活动怎么报名?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  魔毅自助建站系统:模板定制与SEO优化一键生成指南  清除minerd进程的简单方法  北京企业网站设计制作公司,北京铁路集团官方网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  海南网站制作公司有哪些,海口网是哪家的?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  iOS验证手机号的正则表达式  深入理解Android中的xmlns:tools属性  如何自定义建站之星网站的导航菜单样式?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  音乐网站服务器如何优化API响应速度?  EditPlus中的正则表达式 实战(1)  微信小程序制作网站有哪些,微信小程序需要做网站吗?  javascript基于原型链的继承及call和apply函数用法分析  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  微信小程序 scroll-view组件实现列表页实例代码  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  微信h5制作网站有哪些,免费微信H5页面制作工具?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何用PHP工具快速搭建高效网站?  如何在阿里云完成域名注册与建站?  移动端脚本框架Hammer.js  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何批量查询域名的建站时间记录?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  JavaScript如何实现类型判断_typeof和instanceof有什么区别  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  如何快速搭建支持数据库操作的智能建站平台?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧