如何使用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 相关文章推荐
关于Intype一些小问题的解决办法
Mar 28 PHP
php生成excel列序号代码实例
Dec 24 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
PHP中的常见魔术方法功能作用及用法实例
Jul 01 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
php实现三级级联下拉框
Apr 17 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 PHP
php获取'/'传参的值简单方法
Jul 13 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
PHP让网站移动访问更加友好方法
Feb 14 PHP
Yii2 queue的队列使用详解
Jul 19 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下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
PHP chr()函数讲解
2019/02/11 PHP
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python双向循环链表实现方法分析
2018/07/30 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
python字典与json转换的方法总结
2020/12/28 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
使用索引有什么好处
2016/07/27 面试题
实习鉴定评语
2014/01/19 职场文书
优秀求职信范文分享
2014/01/26 职场文书
公司授权委托书
2014/04/04 职场文书
2014全年工作总结
2014/11/27 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS