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 n个不重复的随机数生成代码
Jun 23 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
php preg_filter执行一个正则表达式搜索和替换
Feb 27 PHP
php中如何防止表单的重复提交
Aug 02 PHP
php定界符
Jun 19 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
php以post形式发送xml的方法
Nov 04 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
Mootools 1.2教程 事件处理
2009/09/15 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
python中for语句简单遍历数据的方法
2015/05/07 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
python re模块常见用法例举
2021/03/01 Python
跨域修改iframe页面内容详解
2019/10/31 HTML / CSS
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
演讲稿开场白
2014/01/13 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
教学评估实施方案
2014/03/16 职场文书
法制宣传日活动总结
2014/04/29 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
收款委托书
2014/10/14 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
法制工作总结2015
2015/07/23 职场文书
个人合作协议范本
2015/08/06 职场文书
欢送领导祝酒词
2015/08/12 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫
SQL SERVER中的流程控制语句
2022/05/25 SQL Server
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技