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);
/**
* 通过⾝份证正⾯和背景照⽚,⽣成⼀图组合图⽚,并打上⽔印resized
* 需要准备⼀张空⽩图⽚、⼀张⽔印图⽚,放在/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;
}
>
最前⾯的⼏个是图⽚配置参数,⼤家可以根据需要修改⼀下即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。