Home > Article > Backend Development > How to combine two photos of the front and back of an ID card into one picture using PHP
This article introduces how to combine the front and back pictures of an ID card into one picture in PHP, and you can also add watermarks to the picture. Friends who need it can refer to it
The specific code is as follows, the front part is the noodle code , followed by a sealed function for easy repeated use. Pay attention to the comments in front of the function. Because we don’t want to give this function too many parameters, some configuration items are hard-coded in the function.
<?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; } ?>
The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
PHPString definition methods and their differences
php substr function definition and usage summary
The above is the detailed content of How to combine two photos of the front and back of an ID card into one picture using PHP. For more information, please follow other related articles on the PHP Chinese website!