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 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
PHP 登录记住密码实现思路
May 07 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP实现添加购物车功能
Mar 06 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
PHP针对redis常用操作实例详解
Aug 17 PHP
Laravel 前端资源配置教程
Oct 18 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
sony ICF-2010 拆解与改装
2021/03/02 无线电
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
怎样在UNIX系统下安装php3
2006/10/09 PHP
apache rewrite_module模块使用教程
2008/01/10 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
python调用外部程序的实操步骤
2019/03/04 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
2017/03/02 HTML / CSS
大学生写自荐信的技巧
2014/01/08 职场文书
迟到检讨书800字
2014/01/13 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
大国崛起日本观后感
2015/06/02 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
解析Java异步之call future
2021/06/14 Java/Android