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


Posted in PHP onApril 08, 2017

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

<?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 相关文章推荐
PHP无限分类的类
Jan 02 PHP
再次研究下cache_lite
Feb 14 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 #PHP
yii框架无限极分类的实现方法
Apr 08 #PHP
PHP下载远程图片的几种方法总结
Apr 07 #PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 #PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 #PHP
php 根据自增id创建唯一编号类
Apr 06 #PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 #PHP
You might like
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
Javascript----文件操作
2007/01/18 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
深入浅析var,let,const的异同点
2018/08/07 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
SQL面试题
2013/12/09 面试题
linux面试题参考答案(11)
2012/05/01 面试题
致标枪运动员加油稿
2014/02/15 职场文书
医学求职自荐信
2014/06/21 职场文书
村道德模范事迹材料
2014/08/28 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
务工证明怎么写
2015/06/18 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
python之json文件转xml文件案例讲解
2021/08/07 Python
JavaScript获取URL参数的方法分享
2022/04/07 Javascript