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 MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 PHP
jquery+thinkphp实现跨域抓取数据的方法
Oct 15 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
php微信开发之谷歌测距
Jun 14 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 PHP
php TP5框架生成二维码链接
Apr 01 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学习资源和链接.
2006/12/05 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
php中的异常和错误浅析
2017/05/03 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
javascript json 新手入门文档
2009/12/03 Javascript
JS的反射问题
2010/04/07 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
Python实现list反转实例汇总
2014/11/11 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
招商经理岗位职责
2013/11/16 职场文书
运动会稿件50字
2014/02/17 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
2014年学生工作总结
2014/11/20 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
Python进度条的使用
2021/05/17 Python
Python基础之条件语句详解
2021/06/16 Python
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android