具体代码如下,前面部分是面条代码,后面是封了一个函数,便于反复使用。注意函数前面的注释说明,因为不想给这个函数搞太多参数,所以有一些配置项就写死在函数里面了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
<?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 ; } ?> |
最前面的几个是图片配置参数,大家可以根据需要修改一下即可。