本文介绍了PHP实现图片压缩方法,读者可以根据具体应用参考或加以改进,直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放要求的宽度、缩放的长度。
php" id="highlighter_697176">
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
|
<?php //压缩图片 缩略图 $src = "xiezheng.jpg" ; $newwid =640; $newhei = 480; function imgzip( $src , $newwid , $newhei ){ $imgInfo = getimagesize ( $src ); $imgType = image_type_to_extension( $imgInfo [2], false); $fun = "imagecreatefrom{$imgType}" ; //声明图片 打开图片 在内存中 $image = $fun ( $src ); //方便配置长度宽度、高度,设置框为变量wid,高度为hei $wid = $imgInfo [0]; $hei = $imgInfo [1]; //判断长度和宽度,以方便等比缩放,规格按照500, 320 if ( $wid > $hei ){ $wid = $newwid ; $hei = $newwid /( $wid / $hei ); } else { $wid = $newhei * ( $wid / $hei ); $hei = $newhei ; } //在内存中建立一张图片 $images2 = imagecreatetruecolor( $newwid , $newhei ); //建立一个500*320的图片 //将原图复制到新建图片中 //imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) imagecopyresampled( $images2 , $image , 0, 0, 0, 0, $wid , $hei , $imgInfo [0], $imgInfo [1]); //销毁原始图片 imagedestroy( $image ); //直接输出图片文件 header( "Content-type: " . $imgInfo [ 'mime' ]); imagejpeg( $images2 ); //保存图片 到新文件 imagejpeg( $images2 , 'new.jpg' , 100); //10代码输出图片的质量 0-100 100质量最高 //销毁 imagedestroy( $images2 ); } imgzip( $src , $newwid , $newhei ); ?> |
希望本文所述对大家对PHP程序设计有所帮助。