PHP压缩图片快速实现,极其简单的实现及思路

个人思路:

先获取目标图片,获取到图片信息,将图片宽高进行缩放,创建新的画布,用新的宽高生成新的图片。图片就变小了。

个人声名:

仅代表个人发布此贴,接受整改意见,不接受“喷”。
希望对新手或者此功能满足开发需求的人有所帮助。
<?php
//typearr存的是一些图片的格式,用作下文getimagesize()获取图片信息中的图片格式进行比对
$typearr = array("gif", "jpeg", "png", "swf", "psd", "bmp");
$img = ‘test.jpeg’;		//一个可检查路径的图片
list($width, $height, $type, $attr) = getimagesize($img);		//获取图片信息
/**-----------------------------------------------------------------------------------------------------------------------------------------------------*/
//对imagecreatefrom 系列函数进行拼接从文件或 URL 载入一幅图像,成功返回图像资源,失败则返回一个空字符串
$func = "imagecreatefrom" . $typearr[$type - 1];			
$image = $fun($img);
/**-----------------------------------------------------------------------------------------------------------------------------------------------------*/
//创建一个新的真彩色图像
$new_width = $width * 0.5;
$new_height = $height * 0.5;
$image_thump = imagecreatetruecolor($new_width, $new_height);		
/**-----------------------------------------------------------------------------------------------------------------------------------------------------*/
//图像处理(各个参数的含义很容易百度到)
imagecopyresampled($image_thump, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
/**-----------------------------------------------------------------------------------------------------------------------------------------------------*/
//拼接一个image系列函数(将图片输出到浏览器或文件)
$imgfunc= "image" . $typearr[$type - 1];
$imgfunc($image_thump,“test.jpeg”);		//这里我选择原图覆盖
//销毁图像资源
imagedestroy($image);
注:因为是二开项目中的上传图片功能,我只是截取了封装中的压缩部分,有需要的话可以自行封装。
建议变量为:图片和代码片段中的宽高*0.5的那个0.5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值