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 翻页 实例代码
Aug 07 PHP
PHP中操作ini配置文件的方法
Apr 25 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
页面利用渐进式JPEG来提升用户体验度
Dec 01 PHP
浅谈PHP值mysql操作类
Jun 29 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
PHP判断函数是否被定义的方法
Jun 21 PHP
PHP实现简单的计算器
Aug 28 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JavaScript浏览器选项卡效果
2010/08/25 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
详细介绍Python语言中的按位运算符
2013/11/26 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
国培教师自我鉴定
2014/02/12 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
触电现场处置方案
2014/05/14 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
催款函怎么写
2015/06/24 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
美元符号 $
2022/02/17 杂记