兼容性最強(qiáng)的PHP生成縮略圖的函數(shù)代碼(修改版)
更新時(shí)間:2011年01月18日 00:00:25 作者:
寫(xiě)通用性程序考慮兼容性是很頭痛的事情,關(guān)于用PHP生成縮略圖的代碼很多,不過(guò)能完全兼容gd1.6和gd2.x,并能保證縮圖清晰性的代碼幾乎沒(méi)有,我把我以前的代碼改了一下,就能實(shí)現(xiàn)了。
復(fù)制代碼 代碼如下:
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庫(kù)不能使用GIF格式的圖片,請(qǐng)使用Jpeg或PNG格式!<a href='javascript:go(-1);'>返回</a>";
exit();
}
$im = ImageCreateFromGIF($srcFile);
break;
case 2:
if(!function_exists("imagecreatefromjpeg")){
echo "你的GD庫(kù)不能使用jpeg格式的圖片,請(qǐng)使用其它格式的圖片!<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使用imagick讀取PDF生成png縮略圖的兩種方法
- php 根據(jù)url自動(dòng)生成縮略圖并處理高并發(fā)問(wèn)題
- php生成縮略圖示例代碼分享(使用gd庫(kù)實(shí)現(xiàn))
- php利用GD庫(kù)生成縮略圖示例
- 使用gd庫(kù)實(shí)現(xiàn)php服務(wù)端圖片裁剪和生成縮略圖功能分享
- php生成縮略圖填充白邊(等比縮略圖方案)
- PHP imagegrabscreen和imagegrabwindow(截取網(wǎng)站縮略圖)的實(shí)例代碼
- 基于PHP服務(wù)端圖片生成縮略圖的方法詳解
- php圖片的裁剪與縮放生成符合需求的縮略圖
- PHPThumb PHP 圖片縮略圖庫(kù)
- php 縮略圖實(shí)現(xiàn)函數(shù)代碼
- PHP縮略圖等比例無(wú)損壓縮,可填充空白區(qū)域補(bǔ)充色
- PHP用GD庫(kù)生成高質(zhì)量的縮略圖片
- 兼容性比較好的PHP生成縮略圖的代碼
- 完美實(shí)現(xiàn)GIF動(dòng)畫(huà)縮略圖的php代碼
- php下嘗試使用GraphicsMagick的縮略圖功能
- php圖片處理:加水印、縮略圖的實(shí)現(xiàn)(自定義函數(shù):watermark、thumbnail)
- php實(shí)現(xiàn)上傳圖片生成縮略圖示例
相關(guān)文章
Discuz不使用插件實(shí)現(xiàn)簡(jiǎn)單的打賞功能
今天小編就為大家分享一篇關(guān)于Discuz不使用插件實(shí)現(xiàn)簡(jiǎn)單的打賞功能,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03PHP實(shí)現(xiàn)的Redis操作通用類(lèi)示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的Redis操作通用類(lèi),結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)的redis連接、隊(duì)列、集合、hash表、事務(wù)等相關(guān)操作封裝技巧,需要的朋友可以參考下2018-06-06解析PHP留言本模塊主要功能的函數(shù)說(shuō)明(代碼可實(shí)現(xiàn))
本篇文章是對(duì)PHP留言本中主要的函數(shù)以及代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP在同一域名下兩個(gè)不同的項(xiàng)目做獨(dú)立登錄機(jī)制詳解
這篇文章主要給大家介紹了關(guān)于PHP在同一域名下兩個(gè)不同的項(xiàng)目如何做獨(dú)立登錄機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09php 輸出緩沖 Output Control用法實(shí)例詳解
這篇文章主要介紹了php 輸出緩沖 Output Control用法,結(jié)合實(shí)例形式詳細(xì)分析了php 輸出緩沖 Output Control基本概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-03-03PHP實(shí)現(xiàn)類(lèi)似于C語(yǔ)言的文件讀取及解析功能
這篇文章主要介紹了PHP實(shí)現(xiàn)類(lèi)似于C語(yǔ)言的文件讀取及解析功能,結(jié)合實(shí)例形式分析了php讀取文件的相關(guān)函數(shù)與使用注意事項(xiàng),需要的朋友可以參考下2017-09-09PHP刪除HTMl標(biāo)簽的實(shí)現(xiàn)代碼
本篇文章是對(duì)PHP刪除HTMl標(biāo)簽的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06