利用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程序实现支持页面后退的两种方法
Jun 30 PHP
PHP clearstatcache()函数详解
Mar 02 PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
php实现数字补零的方法总结
Sep 12 PHP
PHP数组遍历的几种常见方式总结
Feb 15 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代码运行时间查看类代码分享
2011/08/06 PHP
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
js 格式化时间日期函数小结
2010/03/20 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
JQuery each打印JS对象的方法
2013/11/13 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
python之yield表达式学习
2014/09/02 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
python 自动去除空行的实例
2018/07/24 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
Python多线程thread及模块使用实例
2020/04/28 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
信息专业大学生自我评价分享
2014/01/17 职场文书
公益活动邀请函
2014/02/05 职场文书
松材线虫病防治方案
2014/06/15 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
保洁员岗位职责
2015/02/04 职场文书
小学教师见习总结
2015/06/23 职场文书
结婚典礼主持词
2015/06/29 职场文书
基层党建工作简报
2015/07/21 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
介绍一下28个JS常用数组方法
2022/05/06 Javascript