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动态生成静态HTML网页的代码
Mar 04 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 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
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
PHP7 windows支持
2021/03/09 PHP
js自定义事件代码说明
2011/01/31 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
原生js添加一个或多个类名的方法分析
2019/07/30 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
python将文本转换成图片输出的方法
2015/04/28 Python
Python导入oracle数据的方法
2015/07/10 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
django中ImageField的使用详解
2020/12/21 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
小学生演讲稿
2014/01/12 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
销售类求职信
2014/06/13 职场文书
欢迎词怎么写
2015/01/23 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis