如何使用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+Html+缓存
Dec 20 PHP
php部分常见问题总结
Mar 27 PHP
php empty函数判断mysql表单是否为空
Apr 12 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
ini_set的用法介绍
Jan 07 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
php学习笔记之面向对象
Nov 08 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
PHP对象实例化单例方法
Jan 19 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
php变量作用域的深入解析
2013/06/03 PHP
微信支付开发告警通知实例
2016/07/12 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
Python搜索引擎实现原理和方法
2017/11/27 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
python如何重载模块实例解析
2018/01/25 Python
Python基于百度云文字识别API
2018/12/13 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
django中ImageField的使用详解
2020/12/21 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
仓库保管员岗位职责
2013/12/20 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
学校献爱心活动总结
2014/07/08 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android