兼容性比较好的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 相关文章推荐
smarty 原来也不过如此~~呵呵
Nov 25 PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
php的access操作类
Apr 09 PHP
PHP执行批量mysql语句的解决方法
May 02 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
PHP操作文件的一些基本函数使用示例
Nov 18 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
ThinkPHP实现分页功能
Apr 28 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
django中的ajax组件教程详解
Oct 18 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
PHP7 参数处理机制修改
Mar 09 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文件读写操作之文件写入代码
2011/01/13 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
Linux的文件类型
2016/07/05 面试题
药学专业大学生自荐信
2013/09/28 职场文书
机电专业毕业生求职信
2013/10/27 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
结对共建工作方案
2014/06/02 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript