如何使用php等比例缩放图片


Posted in PHP onOctober 12, 2016

本文介绍了PHP实现图片压缩方法,读者可以根据具体应用参考或加以改进,直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放要求的宽度、缩放的长度。

<?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程序设计有所帮助。

PHP 相关文章推荐
无限级别菜单的实现
Oct 09 PHP
mysq GBKl乱码
Nov 28 PHP
php中http_build_query 的一个问题
Mar 25 PHP
基于xcache的配置与使用详解
Jun 18 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
PHP中array_map与array_column之间的关系分析
Aug 19 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
PHP云打印类完整示例
Oct 15 PHP
微信接口生成带参数的二维码
Jul 31 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 PHP
详解php中流行的rpc框架
May 29 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 #PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 #PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 #PHP
基于php实现的php代码加密解密类完整实例
Oct 12 #PHP
php fseek函数读取大文件两种方法
Oct 12 #PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 #PHP
php 无限分类 树形数据格式化代码
Oct 11 #PHP
You might like
用PHP程序实现支持页面后退的两种方法
2008/06/30 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
php实现cookie加密的方法
2015/03/10 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
python自动生成sql语句的脚本
2021/02/24 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
会计毕业生自我鉴定
2013/11/04 职场文书
财务学生的职业生涯发展
2014/02/11 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
2015年教师自我评价范文
2015/03/04 职场文书
《比的意义》教学反思
2016/02/18 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
Vue操作Storage本地化存储
2022/04/29 Vue.js