利用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实现mysql数据库备份类
Mar 20 PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
PHP中的float类型使用说明
Jul 27 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
php调用shell的方法
Nov 05 PHP
php限制ip地址范围的方法
Mar 31 PHP
PHP抽奖算法程序代码分享
Oct 08 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
Oct 09 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
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
PHP 翻页 实例代码
2009/08/07 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
一起来写段JS drag拖动代码
2010/12/09 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
Python迭代器和生成器介绍
2015/03/06 Python
深入浅析Python字符编码
2015/11/12 Python
基于树莓派的语音对话机器人
2019/06/17 Python
python识别验证码图片实例详解
2020/02/17 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
什么是接口(Interface)?
2013/02/01 面试题
2014年开学第一课活动方案
2014/03/06 职场文书
《泉水》教学反思
2014/04/11 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
2014年图书室工作总结
2014/12/09 职场文书
债务纠纷代理词
2015/05/25 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL