直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放要求的宽度、缩放的长度。代码都备注了,不懂可以留言哈哈
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
|
<?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 [0]);
//销毁原始图片
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 等比例缩放图片的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!