如何使用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新手用的Insert和Update语句构造类
Mar 31 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
关于svn冲突的解决方法
Jun 21 PHP
php定义数组和使用示例(php数组的定义方法)
Mar 29 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
php json相关函数用法示例
Mar 28 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 PHP
php优化查询foreach代码实例讲解
Mar 24 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学习笔记之二 php入门知识
2011/01/12 PHP
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
PHP中的事务使用实例
2015/05/26 PHP
nodejs实用示例 缩址还原
2010/12/28 NodeJs
js自定义事件代码说明
2011/01/31 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
pandas分区间,算频率的实例
2019/07/04 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
前台文员岗位职责及工作流程
2013/11/19 职场文书
迟到检讨书900字
2014/01/14 职场文书
面试后的感谢信范文
2014/02/01 职场文书
总经理文秘岗位职责
2014/02/03 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
华山导游词
2015/02/03 职场文书
道歉情书大全
2015/05/12 职场文书
教导处教学工作总结
2015/08/12 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
如何用JS实现简单的数据监听
2021/05/06 Javascript