利用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&amp;mysql(六)
Oct 09 PHP
我的论坛源代码(五)
Oct 09 PHP
IIS6的PHP最佳配置方法
Mar 19 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
php中require和require_once的区别说明
Feb 27 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
php去除头尾空格的2种方法
Mar 16 PHP
PHP模板引擎Smarty内建函数详解
Apr 11 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
Jul 03 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实现文件下载代码分享
2014/08/19 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
python sorted函数原理解析及练习
2020/02/10 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
介绍一下Java中的static关键字
2012/05/12 面试题
清洁工岗位职责
2014/01/29 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
2015中秋祝酒词
2015/08/12 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
Python使用random模块实现掷骰子游戏的示例代码
2021/04/29 Python