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
mysql中存储过程、函数的一些问题
Feb 14 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
php实现事件监听与触发的方法
Nov 21 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
php use和include区别总结
Oct 13 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实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP多线程类及用法实例
2014/12/03 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
python中实现延时回调普通函数示例代码
2017/09/08 Python
python实现点对点聊天程序
2018/07/28 Python
用python做游戏的细节详解
2019/06/25 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
详解python logging日志传输
2020/07/01 Python
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
学校出纳员岗位职责
2014/03/18 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
单位推荐信范文
2015/03/27 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
大学生社会实践感想
2015/08/11 职场文书
初中美术教学反思
2016/02/17 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
python lambda 表达式形式分析
2022/04/03 Python