PHP将身份证正反面两张照片合成一张图片


关键词

PHP 图片

摘要

本文介绍将身份证正反两张图片在PHP中如何合成一张图片,还可以给图片打上水印。

具体代码如下,前面部分是面条代码,后面是封了一个函数,便于反复使用。注意函数前面的注释说明,因为不想给这个函数搞太多参数,所以有一些配置项就写死在函数里面了。

<?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将身份证正反面两张照片合成一张图片:http://www.splaybow.com/post/php-make-shenfenzheng-one-image-30.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« session_unset()和session_destroy()的区别 ThinkPHP的ajaxReturn方法的使用 »

相关文章:

PHP操作Word的组件PHPWord有两个版本  (2017/5/3 7:40:06)

PHP求最大值的max函数  (2017/4/21 7:43:22)

PHP求最小值的min函数  (2017/4/11 7:33:43)

PHP数组降序排序rsort()函数  (2017/3/28 7:04:09)

PHP数组升序排序sort()函数  (2017/3/25 7:02:40)

ThinkPHP中if标签的使用  (2017/1/21 7:31:57)

Thinkphp整合支付宝  (2016/10/8 9:08:19)

PHP的highlight_file显示程序源文件  (2017/1/11 7:05:58)

洪哥的ThinkPHP教程之编写列表页  (2016/6/7 7:48:14)

ThinkPHP中调用PHPExcel  (2016/12/11 7:30:07)