利用PHP实现图片等比例放大和缩小的方法详解


Posted in PHP onJune 06, 2013
    function resizeimage($srcfile,$mySize){
    $size=getimagesize($srcfile);
    switch($size[2]){
    case 1:
    $img=imagecreatefromgif($srcfile);
    break;
    case 2:
    $img=imagecreatefromjpeg($srcfile);
    break;
    case 3:
    $img=imagecreatefrompng($srcfile);
    break;
    }
    //源图片的宽度和高度
    $oldImg['w']=imagesx($img);
    $oldImg['h']=imagesy($img);
    if ($oldImg['w']<=$mySize['w'] && $oldImg['h']<156){
    $rate=1;
    }elseif ($oldImg['w']>$mySize['w'] && $oldImg['h']<$mySize['h']){
    $rate=$mySize['w']/$oldImg['w'];
    }elseif ($oldImg['w']<$mySize['w'] && $oldImg['h']>$mySize['h']){
    $rate=$mySize['h']/$oldImg['h'];
    }elseif ($oldImg['w']>$mySize['w'] && $oldImg['h']>$mySize['h']){
    $rate1=$mySize['w']/$oldImg['w'];
    $rate2=$mySize['h']/$oldImg['h'];
    if ($rate1>$rate2){$rate=$rate2;}else{$rate=$rate1;}
    }
    $newImg['w']=$oldImg['w']*$rate;
    $newImg['h']=$oldImg['h']*$rate;
    return "width=".$newImg['w']." height=".$newImg['h'];
    }

应用实例
   $mySize=array('w'=>143,'h'=>156);
   $imgSize=resizeimage("22.jpg",$mySize);
   echo "<img src=\"22.jpg\"".resizeimage("22.jpg",$mySize)."/>";
PHP 相关文章推荐
小偷PHP+Html+缓存
Dec 20 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
May 09 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
php array_keys 返回数组的键名
Oct 25 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP钩子实现方法解析
May 21 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
PHP删除目录及目录下所有文件的方法详解
Jun 06 #PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 #PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 #PHP
php IP转换整形(ip2long)的详解
Jun 06 #PHP
php全局变量和类配合使用深刻理解
Jun 05 #PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 #PHP
PHP Global变量定义当前页面的全局变量实现探讨
Jun 05 #PHP
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
PHP的拦截器实例分析
2014/11/03 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
python list中append()与extend()用法分享
2013/03/24 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python实现多线程抓取妹子图
2015/08/08 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
成教毕业生自我鉴定
2013/10/23 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
个人委托书
2014/07/31 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
北京故宫导游词
2015/01/31 职场文书
原告代理词范文
2015/05/25 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript