PHP 等比例缩放图片详解及实例代码

时间:2022-09-17 10:41:54

直接上代码,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 等比例缩放图片详解及实例代码

压缩后

PHP 等比例缩放图片详解及实例代码

以上就是对php 等比例缩放图片的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!