利用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编程中八种常见的文件操作方式
Nov 19 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
php实现可以设置中奖概率的抽奖程序代码分享
Jan 19 PHP
php ci框架中加载css和js文件失败的原因及解决方法
Jul 29 PHP
ThinkPHP添加更新标签的方法
Dec 05 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 PHP
PHP chop()函数讲解
Feb 11 PHP
在Laravel 中实现是否关注的示例
Oct 22 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
PHP4之COOKIE支持详解
2006/10/09 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
微信小程序实现侧边分类栏
2019/10/21 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
Python实现的彩票机选器实例
2015/06/17 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
浅谈django 重载str 方法
2020/05/19 Python
详解Python设计模式之策略模式
2020/06/15 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
旅游管理本科生求职信
2013/10/14 职场文书
花坛标语大全
2014/06/30 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
计划生育诚信协议书
2014/11/02 职场文书
2015年保送生自荐信
2015/03/24 职场文书
单位考核鉴定意见
2015/06/05 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python