利用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实现WEB动态网页静态
Oct 09 PHP
PHP 和 MySQL 开发的 8 个技巧
Jan 02 PHP
网友原创的PHP模板类代码
Sep 07 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
PHP多文件上传类实例
Mar 07 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
Centos6.5和Centos7 php环境搭建方法
May 27 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
关于php unset对json_encode的影响详解
Nov 14 PHP
laravel配置Redis多个库的实现方法
Apr 10 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
Oct 10 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一些常用的正则表达式字符的一些转换
2008/07/29 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
初识Node.js
2014/09/03 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
化学系大学生自荐信范文
2014/03/01 职场文书
工作决心书
2014/03/11 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
教师工作能力自我评价
2015/03/04 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书