利用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 相关文章推荐
PHP4实际应用经验篇(8)
Oct 09 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
smarty模板局部缓存方法使用示例
Jun 17 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
使用phpQuery获取数组的实例
Mar 13 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
PHP filesize函数用法浅析
Feb 15 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 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 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
python显示生日是星期几的方法
2015/05/27 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
python如何使用代码运行助手
2020/07/03 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
.NET程序员的数据库面试题
2012/10/10 面试题
中医药大学市场营销专业自荐信
2013/09/29 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
博士生导师推荐信
2014/07/08 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python