利用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 相关文章推荐
ADODB的数据库封包程序库
Dec 31 PHP
php 常用类整理
Dec 23 PHP
应用开发中涉及到的css和php笔记分享
Aug 02 PHP
深入php self与$this的详解
Jun 08 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
php定义一个参数带有默认值的函数实例分析
Mar 16 PHP
PHP加密解密类实例分析
Apr 20 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
比较完整的微信开发php代码
Aug 02 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 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 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
Javascript开发包大全整理
2006/12/22 Javascript
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
利用Python爬取微博数据生成词云图片实例代码
2017/08/31 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
python机器学习之神经网络(二)
2017/12/20 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
《争吵》教学反思
2014/02/15 职场文书
指导教师评语
2014/04/26 职场文书
消防标语大全
2014/06/07 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle
Java 异步任务计算FutureTask
2022/04/28 Java/Android
Nginx配置之禁止指定IP访问
2022/05/02 Servers