兼容性比较好的PHP生成缩略图的代码


Posted in PHP onJanuary 12, 2011
function ImageResize($srcFile,$toW,$toH,$toFile="") 
{ 
if($toFile==""){ $toFile = $srcFile; } 
$info = ""; 
$data = GetImageSize($srcFile,$info); 
switch ($data[2]) 
{ 
case 1: 
if(!function_exists("imagecreatefromgif")){ 
echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!<a href='javascript:go(-1);'>返回</a>"; 
exit(); 
} 
$im = ImageCreateFromGIF($srcFile); 
break; 
case 2: 
if(!function_exists("imagecreatefromjpeg")){ 
echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!<a href='javascript:go(-1);'>返回</a>"; 
exit(); 
} 
$im = ImageCreateFromJpeg($srcFile); 
break; 
case 3: 
$im = ImageCreateFromPNG($srcFile); 
break; 
} 
$srcW=ImageSX($im); 
$srcH=ImageSY($im); 
$toWH=$toW/$toH; 
$srcWH=$srcW/$srcH; 
if($toWH<=$srcWH){ 
$ftoW=$toW; 
$ftoH=$ftoW*($srcH/$srcW); 
} 
else{ 
$ftoH=$toH; 
$ftoW=$ftoH*($srcW/$srcH); 
} 
if($srcW>$toW||$srcH>$toH) 
{ 
if(function_exists("imagecreatetruecolor")){ 
@$ni = ImageCreateTrueColor($ftoW,$ftoH); 
if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 
else{ 
$ni=ImageCreate($ftoW,$ftoH); 
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 
} 
}else{ 
$ni=ImageCreate($ftoW,$ftoH); 
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 
} 
if(function_exists('imagejpeg')) ImageJpeg($ni,$toFile); 
else ImagePNG($ni,$toFile); 
ImageDestroy($ni); 
} 
ImageDestroy($im); 
}
PHP 相关文章推荐
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
Php中文件下载功能实现超详细流程分析
Jun 13 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
php session劫持和防范的方法
Nov 12 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
非常实用的PHP常用函数汇总
Dec 17 PHP
php使用mysqli向数据库添加数据的方法
Mar 20 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
简述php环境搭建与配置
Dec 05 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 #PHP
PHP日期处理函数 整型日期格式
Jan 12 #PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 #PHP
DEDE采集大师官方留后门的删除办法
Jan 08 #PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 #PHP
PHP备份/还原MySQL数据库的代码
Jan 06 #PHP
php循环检测目录是否存在并创建(循环创建目录)
Jan 06 #PHP
You might like
PHP中date()日期函数有关参数整理
2011/07/19 PHP
php实现json编码的方法
2015/07/30 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
php英文单词统计器
2016/06/23 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
js 学习笔记(三)
2009/12/29 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
利用Python破解斗地主残局详解
2017/06/30 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
Django模板Templates使用方法详解
2019/07/19 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
50道外企软件测试面试题
2014/08/18 面试题
美容师的职业规划书
2013/12/27 职场文书
一分钟演讲稿
2014/04/30 职场文书
水电工程师岗位职责
2015/02/13 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python