PHP 图像尺寸调整代码


Posted in PHP onMay 26, 2010
/********************** 
*@filename - path to the image 
*@tmpname - temporary path to thumbnail 
*@xmax - max width 
*@ymax - max height 
*/ 
function resize_image($filename, $tmpname, $xmax, $ymax) 
{ 
$ext = explode(".", $filename); 
$ext = $ext[count($ext)-1]; 
if($ext == "jpg" || $ext == "jpeg") 
$im = imagecreatefromjpeg($tmpname); 
elseif($ext == "png") 
$im = imagecreatefrompng($tmpname); 
elseif($ext == "gif") 
$im = imagecreatefromgif($tmpname); 
$x = imagesx($im); 
$y = imagesy($im); 
if($x <= $xmax && $y <= $ymax) 
return $im; 
if($x >= $y) { 
$newx = $xmax; 
$newy = $newx * $y / $x; 
} 
else { 
$newy = $ymax; 
$newx = $x / $y * $newy; 
} 
$im2 = imagecreatetruecolor($newx, $newy); 
imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y); 
return $im2; 
}

这里是摘自三水点靠木之前发布的文章。更多的技巧可以参考。
收集的二十一个实用便利的PHP函数代码
PHP 相关文章推荐
PHP中文汉字验证码
Apr 08 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
php实现数组重复数字统计实例
Sep 30 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
asp.net和php的区别点总结
Oct 10 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 PHP
用PHP将网址字符串转换成超链接(网址或email)
May 25 #PHP
php 编写安全的代码时容易犯的错误小结
May 20 #PHP
Windows7下PHP开发环境安装配置图文方法
May 20 #PHP
Joomla下利用configuration.php存储简单数据
May 19 #PHP
php UTF-8、Unicode和BOM问题
May 18 #PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 #PHP
PHP 工厂模式使用方法
May 18 #PHP
You might like
php常量详细解析
2015/10/27 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php简单获取复选框值的方法
2016/05/11 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
读jQuery之十 事件模块概述
2011/06/27 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python实现简易Web爬虫详解
2018/01/03 Python
python能做什么 python的含义
2019/10/12 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
公司中秋节活动方案
2014/02/12 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
儿园租房协议书范本
2014/12/02 职场文书
客户经理岗位职责
2015/01/31 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
2015党建工作简报
2015/07/21 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
15个值得收藏的JavaScript函数
2021/09/15 Javascript
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python