利用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中使用Oracle数据库(2)
Oct 09 PHP
PHP面向对象的使用教程 简单数据库连接
Nov 25 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
thinkphp特殊标签用法概述
Nov 24 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
PHP闭包函数详解
Feb 13 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
Feb 20 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
Apr 23 PHP
php实现微信小程序授权登录功能(实现流程)
Nov 13 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 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 excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
php中文验证码实现方法
2015/06/18 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
js jquery做的图片连续滚动代码
2008/01/06 Javascript
javascript radio 联动效果
2009/03/04 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
VUE实现日历组件功能
2017/03/13 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
Apache部署Django项目图文详解
2019/07/30 Python
python 实现单通道转3通道
2019/12/03 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
六一儿童节活动总结
2014/08/27 职场文书
2014年应急工作总结
2014/12/11 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
保研推荐信范文
2015/03/25 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
新郎婚礼致辞
2015/07/27 职场文书