如何使用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 相关文章推荐
PHP4之真OO
Oct 09 PHP
PHP的ASP防火墙
Oct 09 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
php 随机生成10位字符代码
Mar 26 PHP
php的一些小问题
Jul 03 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
PHP内存溢出优化代码详解
Feb 26 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的autoLoad自动加载机制
2012/09/27 PHP
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
python实现根据文件格式分类
2019/10/31 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
HEMA法国:荷兰原创设计
2019/02/21 全球购物
环保建议书200字
2014/05/14 职场文书
电子商务专业自荐信
2014/06/02 职场文书
村安全生产责任书
2014/08/25 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
英文商务邀请函范文
2015/01/31 职场文书
关于环保的宣传稿
2015/07/23 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
Python时间操作之pytz模块使用详解
2022/06/14 Python