中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

php生成縮略圖的方法介紹

php生成縮略圖的方法:首先創(chuàng)建一個(gè)PHP示例文件;然后通過(guò)“header("content-type:image/png");”設(shè)定生成圖片格式;最后通過(guò)“image_resize”方法按指定大小生成縮略圖即可。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、南安網(wǎng)站維護(hù)、網(wǎng)站推廣。

推薦:《PHP視頻教程》

PHP生成圖片縮略圖的三種方法:

1、把大圖縮略到縮略圖指定的范圍內(nèi),可能有留白(原圖細(xì)節(jié)不丟失)

2、把大圖縮略到縮略圖指定的范圍內(nèi),不留白(原圖會(huì)居中縮放,把超出的部分裁剪掉)

3、把大圖縮略到縮略圖指定的范圍內(nèi),不留白(原圖會(huì)剪切掉不符合比例的右邊和下邊)

下面是代碼:

<?php
// +----------------------------------------------------------------------
// |  把大圖縮略到縮略圖指定的范圍內(nèi),可能有留白(原圖細(xì)節(jié)不丟失)
// +---------------------------------------------------------------------- 
$w = $_GET['w']?$_GET['w']:200;
$h = $_GET['h']?$_GET['h']:200;
$filename = "stand_test_".$w."_".$h.".jpg";
image_resize( 'test.jpg',$filename, $w, $h);
header("content-type:image/png");//設(shè)定生成圖片格式
echo file_get_contents($filename);
  
function image_resize($f, $t, $tw, $th){
// 按指定大小生成縮略圖,而且不變形,縮略圖函數(shù)
        $temp = array(1=>'gif', 2=>'jpeg', 3=>'png');
    list($fw, $fh, $tmp) = getimagesize($f);
    if(!$temp[$tmp]){
                return false;
        }
        $tmp = $temp[$tmp];
        $infunc = "imagecreatefrom$tmp";
        $outfunc = "image$tmp";
    $fimg = $infunc($f);
    // 使縮略后的圖片不變形,并且限制在 縮略圖寬高范圍內(nèi)
        if($fw/$tw > $fh/$th){
            $th = $tw*($fh/$fw);
        }else{
            $tw = $th*($fw/$fh);
        }
    $timg = imagecreatetruecolor($tw, $th);
        imagecopyresampled($timg, $fimg, 0,0, 0,0, $tw,$th, $fw,$fh);
        if($outfunc($timg, $t)){
                return true;
        }else{
                return false;
        }
}
?>

<?php
// +----------------------------------------------------------------------
// |  把大圖縮略到縮略圖指定的范圍內(nèi),不留白(原圖會(huì)居中縮放,把超出的部分裁剪掉)
// +----------------------------------------------------------------------
$w = $_GET['w']?$_GET['w']:200;
$h = $_GET['h']?$_GET['h']:200;
$filename = "cut_test_".$w."_".$h.".jpg";
image_resize( 'test.jpg',$filename, $w, $h);
header("content-type:image/png");//設(shè)定生成圖片格式
echo file_get_contents($filename);
  
// 按指定大小生成縮略圖,而且不變形,縮略圖函數(shù)
function image_resize($f, $t, $tw, $th){
        $temp = array(1=>'gif', 2=>'jpeg', 3=>'png');
        list($fw, $fh, $tmp) = getimagesize($f);
        if(!$temp[$tmp]){
                return false;
        }
        $tmp = $temp[$tmp];
        $infunc = "imagecreatefrom$tmp";
        $outfunc = "image$tmp";
    $fimg = $infunc($f);
//      $fw = 10;
//      $fh = 4;
//      $tw = 4;
//      $th = 2;
        // 把圖片鋪滿要縮放的區(qū)域
        if($fw/$tw > $fh/$th){
            $zh = $th;
            $zw = $zh*($fw/$fh);
            $_zw = ($zw-$tw)/2;
        }else{
            $zw = $tw;
            $zh = $zw*($fh/$fw);
            $_zh = ($zh-$th)/2;
        }
//        echo $zw."<br>";   
//        echo $zh."<br>";   
//        echo $_zw."<br>";   
//        echo $_zh."<br>";   
//        exit;
        $zimg = imagecreatetruecolor($zw, $zh);
        // 先把圖像放滿區(qū)域
        imagecopyresampled($zimg, $fimg, 0,0, 0,0, $zw,$zh, $fw,$fh);
    // 再截取到指定的寬高度
        $timg = imagecreatetruecolor($tw, $th);
        imagecopyresampled($timg, $zimg, 0,0, 0+$_zw,0+$_zh, $tw,$th, $zw-$_zw*2,$zh-$_zh*2);
//          if($outfunc($timg, $t)){
                return true;
        }else{
                return false;
        }
}
  
?>

<?php
// +----------------------------------------------------------------------
// | 把大圖縮略到縮略圖指定的范圍內(nèi),不留白(原圖會(huì)剪切掉不符合比例的右邊和下邊)
// +----------------------------------------------------------------------
$w = $_GET['w']?$_GET['w']:200;
$h = $_GET['h']?$_GET['h']:200;
$filename = "strict_test_".$w."_".$h.".jpg";
image_resize( 'test.jpg',$filename, $w, $h);
header("content-type:image/png");//設(shè)定生成圖片格式
echo file_get_contents($filename);
  
function image_resize($f, $t, $tw, $th){
// 按指定大小生成縮略圖,而且不變形,縮略圖函數(shù)
        $temp = array(1=>'gif', 2=>'jpeg', 3=>'png');
    list($fw, $fh, $tmp) = getimagesize($f);
    if(!$temp[$tmp]){
                return false;
        }
        $tmp = $temp[$tmp];
        $infunc = "imagecreatefrom$tmp";
        $outfunc = "image$tmp";
    $fimg = $infunc($f);
    if($fw/$tw > $fh/$th){
                $fw = $tw * ($fh/$th);
        }else{
                $fh = $th * ($fw/$tw);
        }
    $timg = imagecreatetruecolor($tw, $th);
        imagecopyresampled($timg, $fimg, 0,0, 0,0, $tw,$th, $fw,$fh);
        if($outfunc($timg, $t)){
                return true;
        }else{
                return false;
        }
}
?>

網(wǎng)站標(biāo)題:php生成縮略圖的方法介紹
轉(zhuǎn)載源于:http://www.rwnh.cn/article38/cgsipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站軟件開(kāi)發(fā)、電子商務(wù)企業(yè)網(wǎng)站制作、網(wǎng)站排名、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
嘉义县| 富锦市| 明星| 珲春市| 曲麻莱县| 都匀市| 博白县| 河池市| 新泰市| 西丰县| 山东省| 信阳市| 东辽县| 安塞县| 渝中区| 莲花县| 大新县| 武义县| 南皮县| 新密市| 台东县| 沅陵县| 肇源县| 万安县| 南溪县| 金华市| 琼中| 阿图什市| 北安市| 修武县| 清远市| 邵阳市| 邹城市| 康保县| 乐昌市| 安陆市| 将乐县| 株洲市| 海宁市| 石家庄市| 光山县|