利用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下连接ftp实现文件的上传、下载、删除文件实例代码
Jun 03 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
PHP中文分词 自动获取关键词介绍
Nov 13 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 PHP
PHP制作万年历
Jan 07 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
学习PHP的数组总结【经验】
May 05 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 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
PHP使用者状态管理功能的应用
2006/10/09 PHP
php公用函数列表[正则]
2007/02/22 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
php cookie使用方法学习笔记分享
2013/11/07 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python编程之属性和方法实例详解
2015/05/19 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
Python中单、双下划线的区别总结
2017/12/01 Python
用python与文件进行交互的方法
2018/03/01 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
Python3中的bytes和str类型详解
2019/05/02 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
如何使用python进行pdf文件分割
2019/11/11 Python
通俗讲解python 装饰器
2020/09/07 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
德国拖鞋网站:German Slippers
2019/11/08 全球购物
仓库班组长岗位职责
2013/12/12 职场文书
3的组成教学反思
2014/04/30 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
雷锋的故事观后感
2015/06/10 职场文书
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers