利用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脚本数据库功能详解(中)
Oct 09 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
php防止SQL注入详解及防范
Nov 12 PHP
php.ini save_handler 修改不生效的解决办法
Jul 22 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 PHP
PHP微信网页授权的配置文件操作分析
May 29 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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
php统计数组元素个数的方法
2015/07/02 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
Vue中使用sass实现换肤功能
2018/09/07 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
Python创建系统目录的方法
2015/03/11 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
SQL SERVER面试资料
2013/03/30 面试题
青年创业培训欢迎词
2014/01/10 职场文书
我的求职择业计划书
2014/04/04 职场文书
假面舞会策划方案
2014/05/29 职场文书
给老师的感谢信
2015/01/20 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
创业计划书之美甲店
2019/09/20 职场文书
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle