利用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 相关文章推荐
mysql5详细安装教程
Jan 15 PHP
PHP Ajax中文乱码问题解决方法
Feb 27 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
paypal即时到账php实现代码
Nov 28 PHP
解析php中memcache的应用
Jun 18 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
php 如何禁用eval() 函数实例详解
Dec 01 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
PHP的PDO预处理语句与存储过程
Jan 27 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 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数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Python自动化开发学习之三级菜单制作
2017/07/14 Python
pandas重新生成索引的方法
2018/11/06 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
大学生自助营养快餐店创业计划书
2014/01/13 职场文书
淘宝客服自我总结鉴定
2014/01/25 职场文书
十八大演讲稿
2014/05/22 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS