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 基础教程(一)
Oct 09 PHP
PHP新手上路(三)
Oct 09 PHP
php 过滤危险html代码
Jun 29 PHP
php中通过curl检测页面是否被百度收录
Sep 27 PHP
php中require和require_once的区别说明
Feb 27 PHP
php中创建和调用webservice接口示例
Jul 25 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 PHP
PHP遍历数组的6种方式总结
Nov 17 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实现ping
2006/10/09 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
python 基础教程之Map使用方法
2017/01/17 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python3实现简单飞机大战
2020/11/29 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
自我评价的正确写法
2013/09/19 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
小学班主任培训方案
2014/06/04 职场文书
好听的队名和口号
2014/06/09 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
党风廉正建设责任书
2015/01/29 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书