兼容性比較好的PHP生成縮略圖的代碼
更新時(shí)間:2011年01月12日 23:22:19 作者:
寫通用性程序考慮兼容性是很頭痛的事情,關(guān)于用PHP生成縮略圖的代碼很多,不過能完全兼容gd1.6和gd2.x,并能保證縮圖清晰性的代碼幾乎沒有,我把我以前的代碼改了一下,就能實(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庫不能使用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使用imagick讀取PDF生成png縮略圖的兩種方法
- php 根據(jù)url自動生成縮略圖并處理高并發(fā)問題
- php生成縮略圖示例代碼分享(使用gd庫實(shí)現(xiàn))
- php利用GD庫生成縮略圖示例
- 使用gd庫實(shí)現(xiàn)php服務(wù)端圖片裁剪和生成縮略圖功能分享
- php生成縮略圖填充白邊(等比縮略圖方案)
- PHP imagegrabscreen和imagegrabwindow(截取網(wǎng)站縮略圖)的實(shí)例代碼
- 基于PHP服務(wù)端圖片生成縮略圖的方法詳解
- php圖片的裁剪與縮放生成符合需求的縮略圖
- PHPThumb PHP 圖片縮略圖庫
- php 縮略圖實(shí)現(xiàn)函數(shù)代碼
- PHP縮略圖等比例無損壓縮,可填充空白區(qū)域補(bǔ)充色
- PHP用GD庫生成高質(zhì)量的縮略圖片
- 兼容性最強(qiáng)的PHP生成縮略圖的函數(shù)代碼(修改版)
- 完美實(shí)現(xiàn)GIF動畫縮略圖的php代碼
- php下嘗試使用GraphicsMagick的縮略圖功能
- php圖片處理:加水印、縮略圖的實(shí)現(xiàn)(自定義函數(shù):watermark、thumbnail)
- php實(shí)現(xiàn)上傳圖片生成縮略圖示例
相關(guān)文章
PHP結(jié)合Ffmpeg快速搭建流媒體服務(wù)的實(shí)踐記錄
這篇文章主要給大家介紹了關(guān)于使用PHP結(jié)合Ffmpeg快速搭建流媒體服務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10PHP實(shí)現(xiàn)的簡單對稱加密與解密方法實(shí)例小結(jié)
這篇文章主要介紹了PHP實(shí)現(xiàn)的簡單對稱加密與解密方法,結(jié)合實(shí)例形式總結(jié)了常見的php對稱加密與解密操作方法,需要的朋友可以參考下2017-08-08利用PHP如何實(shí)現(xiàn)Socket服務(wù)器
想要構(gòu)建聊天應(yīng)用,或者甚至是游戲嗎?那么,socket服務(wù)器將成為你邁出的第一步。一旦你了解了創(chuàng)建服務(wù)器的基本功能,那么后續(xù)的優(yōu)化步驟就會變得同樣簡單,需要的朋友可以參考下2015-09-09