中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

php生成縮略圖的三種模式

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
1、把大圖縮略到縮略圖指定的范圍內(nèi),可能有留白(原圖細(xì)節(jié)不丟失)
2、把大圖縮略到縮略圖指定的范圍內(nèi),不留白(原圖會(huì)居中縮放,把超出的部分裁剪掉)
3、把大圖縮略到縮略圖指定的范圍內(nèi),不留白(原圖會(huì)剪切掉不符合比例的右邊和下邊)
 
thumb_stand.php
<?php
// http://localhost/exa5/thumb_image/thumb_stand.php?w=200&h=200
// 把大圖縮略到縮略圖指定的范圍內(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;
        }
}
?>

thumb_cut.php
<?php
// http://localhost/exa5/thumb_image/thumb_cut.php?w=200&h=200
// 把大圖縮略到縮略圖指定的范圍內(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;
        }
}

?>
thumb_strict.php
<?php
// http://localhost/exa5/thumb_image/thumb_strict.php?w=200&h=200
// 把大圖縮略到縮略圖指定的范圍內(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;
        }
}
?>
 

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:jQuery結(jié)合C#上傳文件的代碼

下一篇:一個(gè)C#生成簡(jiǎn)單驗(yàn)證碼的類