利用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 相关文章推荐
example2.php
Oct 09 PHP
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
php Smarty模板生成html文档的方法
Apr 12 PHP
PHP缓存技术的使用说明
Aug 06 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
destoon首页调用求购供应信息的地区名称的方法
Aug 21 PHP
php实现的递归提成方案实例
Nov 14 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 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/09/26 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
Express.JS使用详解
2014/07/17 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
js实现圆盘记速表
2015/08/03 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
理解AngularJs指令
2015/12/10 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
js获取浏览器的各种属性
2017/04/27 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
python3访问sina首页中文的处理方法
2014/02/24 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
小学生红领巾广播稿
2014/01/21 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
订货会主持词
2015/07/01 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫