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 相关文章推荐
实用函数7
Nov 08 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
基于php伪静态的实现详细介绍
Apr 28 PHP
基于PHP CURL获取邮箱地址的详解
Jun 03 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
PHP简单遍历对象示例
Sep 28 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
Oct 16 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
PHP静态成员变量
2017/02/14 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
javascript中对对层的控制
2006/12/29 Javascript
Javascript中的常见排序算法
2007/03/27 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
Python continue语句用法实例
2014/03/11 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
Python模块的制作方法实例分析
2019/12/21 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
办公室人员先进事迹
2014/01/27 职场文书
数控专业自荐书范文
2014/03/16 职场文书
质量提升方案
2014/06/16 职场文书
2015年林业工作总结
2015/05/14 职场文书
地球上的星星观后感
2015/06/02 职场文书
Python 全局空间和局部空间
2022/04/06 Python
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android