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 相关文章推荐
xajax写的留言本
Nov 25 PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 PHP
在smarty模板中使用PHP函数的方法
Apr 23 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
PHP解析RSS的方法
Mar 05 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
Yii rules常用规则示例
Mar 15 PHP
php封装的验证码类分享
Feb 26 PHP
总结一些PHP中好用但又容易忽略的小知识
Jun 02 PHP
PHP单例模式与工厂模式详解
Aug 29 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编码规范-php coding standard
2007/03/16 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
基于PHP常用函数的用法详解
2013/05/10 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
jquery 跨域访问问题解决方法(笔记)
2011/06/08 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
详解小程序缓存插件(mrc)
2018/08/17 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python映射列表实例分析
2015/01/26 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
PyQt5实现拖放功能
2018/04/25 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python函数参数分类原理详解
2020/05/28 Python
如何利用Python写个坦克大战
2020/11/18 Python
html5简介及新增功能介绍
2020/05/18 HTML / CSS
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
2014年党员自我剖析材料
2014/10/07 职场文书
Python中for后接else的语法使用
2021/05/18 Python
Python并发编程实例教程之线程的玩法
2021/06/20 Python
PyTorch中的torch.cat简单介绍
2022/03/17 Python