欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP圖片處理之使用imagecopyresampled函數(shù)實現(xiàn)圖片縮放例子

 更新時間:2014年11月19日 09:47:31   投稿:junjie  
這篇文章主要介紹了PHP圖片處理之使用imagecopyresampled函數(shù)實現(xiàn)圖片縮放例子,本文先是講解了imagecopyresampled函數(shù)的相關(guān)知識,然后給出了實現(xiàn)代碼例子,需要的朋友可以參考下

網(wǎng)站優(yōu)化不能只定在代碼上,內(nèi)容也是網(wǎng)站最需要優(yōu)化的對象之一,而圖像又是網(wǎng)站中最主要的內(nèi)容。圖像的優(yōu)化最需要處理的就是將所有上傳到網(wǎng)站中的大圖片自動縮放稱小圖(在網(wǎng)頁中大小夠用就行),以減少N倍的存儲空間,并提高下載瀏覽的速度。所以圖片縮放成一個動態(tài)網(wǎng)站必須要處理的任務(wù),經(jīng)常和文件上傳綁定在一起工作,能在上傳圖片的同時就調(diào)整其大小。當然有時也需要單獨處理圖片縮放,例如在做圖片列表時,如果直接用大圖而在顯示時才將其縮放成小圖,這樣做不僅下載速度會變慢,也會降低頁面響應(yīng)時間。通常遇到這樣的應(yīng)用都是在上傳圖片時,再為圖片縮放出一個專門用來做列表的小圖標,當單擊這個小圖標時,才會去下載大圖瀏覽。

  使用GD庫處理圖片縮放,通常使用imagecopyresized()和imagecopyresampled()兩個函數(shù)中的一個,而使用imagecopyresampled()函數(shù)處理后質(zhì)量會更好一些。這里只介紹一下imagecopyresampled()函數(shù)的使用方法。該函數(shù)的原型如下所示:

復(fù)制代碼 代碼如下:

  bool imagecopyresampled(resource dst_image,resource src_image,int dst_x,int dst_y,int src_x,int src_y,int dst_w,int dst_h ,int src_w,int src_h)

  該函數(shù)將一幅圖像中的正方形區(qū)域復(fù)制到另一個圖像中,平滑地插入像素值,因此減小了圖像的大小而仍然保持了極高的清晰度。如果成功,則返回TRUE,失敗則返回FALSE。參數(shù)dst_image和src_image分別是目標圖像和源圖像的標識符。如果源和目標的寬度和高度不同,則會進行相應(yīng)的圖像收縮和拉伸,坐標指的是左上角。本函數(shù)可用來在同一幅圖內(nèi)部復(fù)制(如果dst_image和src_image相同的話)但如果區(qū)域交迭,則結(jié)果不可預(yù)知。在下面的示例中,以JPEG圖片格式為例,編寫一個圖像縮放的函數(shù)thumb(),代碼如下所示:

復(fù)制代碼 代碼如下:

<?php
    //用于對圖片進行縮放
    function thumb($filename,$width=200,$height=200){
        //獲取原圖像$filename的寬度$width_orig和高度$height_orig
        list($width_orig,$height_orig) = getimagesize($filename);
        //根據(jù)參數(shù)$width和$height值,換算出等比例縮放的高度和寬度
        if ($width && ($width_orig<$height_orig)){
            $width = ($height/$height_orig)*$width_orig;
        }else{
            $height = ($width / $width_orig)*$height_orig;
        }
 
        //將原圖縮放到這個新創(chuàng)建的圖片資源中
        $image_p = imagecreatetruecolor($width, $height);
        //獲取原圖的圖像資源
        $image = imagecreatefromjpeg($filename);
 
        //使用imagecopyresampled()函數(shù)進行縮放設(shè)置
        imagecopyresampled($image_p,$image,0,0,0,0,$width,$height,$width_orig,$height_orig);
 
        //將縮放后的圖片$image_p保存,100(質(zhì)量最佳,文件最大)
        imagejpeg($image_p,$filename);
 
        imagedestroy($image_p);
        imagedestroy($image);
    }
 
    thumb("brophp.jpg",100,100);
?>

相關(guān)文章

最新評論