如何使用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
Nov 25 PHP
php实现的简单压缩英文字符串的代码
Apr 24 PHP
php结合表单实现一些简单功能的例子
Jun 04 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 PHP
UCenter 批量添加用户的php代码
Jul 17 PHP
基于php split()函数的用法详解
Jun 05 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
php中session使用示例
Mar 29 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
浅谈PHP无限极分类原理
Mar 14 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中的stdClass类
2014/04/18 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python xlwt模块使用代码实例
2020/06/10 Python
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
精细化工应届生求职信
2013/11/17 职场文书
企事业单位求职者的自我评价
2013/12/28 职场文书
学生自我鉴定模板
2013/12/30 职场文书
打造完美自荐信
2014/01/24 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang