如何使用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 相关文章推荐
从手册去理解分析PHP session机制
Jul 17 PHP
php跨域cookie共享使用方法
Feb 20 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
php银联网页支付实现方法
Mar 04 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 PHP
php技巧小结【推荐】
Jan 19 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
PHP递归算法的简单实例
Feb 28 PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 PHP
Laravel配置全局公共函数的方法步骤
May 09 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php中unlink()、mkdir()、rmdir()等方法的使用介绍
2012/12/21 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
JavaScript 常用函数
2009/12/30 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
jquery replace方法去空格
2017/05/08 jQuery
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
详解Python传入参数的几种方法
2019/05/16 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
介绍一下OSI七层模型
2012/07/03 面试题
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
哈弗商学院毕业生求职信
2014/02/26 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
大学活动总结范文
2014/04/29 职场文书
2014年评职称工作总结
2014/11/20 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python