如何使用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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
浅析PHP微信支付通知的处理方式
May 25 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
php发送http请求的常用方法分析
Nov 08 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 PHP
详解使用php-cs-fixer格式化代码
Sep 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
星际中的相关伤害
2020/03/04 星际争霸
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
PHP模块化安装教程
2016/06/01 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python监控文件或目录变化
2016/06/07 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
python中map()函数的使用方法示例
2017/09/29 Python
Python OpenCV获取视频的方法
2018/02/28 Python
django session完成状态保持的方法
2018/11/27 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
基层工作经历证明
2014/01/13 职场文书
质量负责人任命书
2014/06/06 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python