<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            php生成圖片縮略圖的方法

            時間:2025-11-16 03:11:49 php語言

            php生成圖片縮略圖的方法

              雖然在HTML中可以通過指定圖片的寬度和高度來隨意縮放圖片,但是這種方法不會減少圖片的像素數目。圖形文件的尺寸沒有改變,當然也不會加快圖片下載的速度了。當然也可以手動通過圖形軟件生成圖片的縮略圖,但對于大量的圖片展示來說,這個工作量將十分巨大。為此微縮圖的自動生成程序就被設計出來了。

              PHP中提供的imagecopyresized函數就可以用來生成真正的縮賂圖片。該函數的標推

              語法如下:

              語法:int imagecopyresized(int dst_im,int src_im,int dstX,int dstY,

              int srcX,int srcY,int dstW,int dstH,int srcW,int srcH);

              返回值:整數

              函數種類:圖形處理

              內容說明:本函數可復制新圖,并重新調整圖片的大小尺寸。參數都是目的在前,來源在后。參數dst im及src_im為圖片的handle。參數dstX、dstY、srcX、srcY分別為目的及來源的坐標。參數dstW、dstH、srcW、srcH分別為來源及目的的寬及高,欲調整的新圖的尺寸就在這兒配置。

              下面舉個例子來說明這個函數的用法,對應的程序thumb.php如程序清單12—5所示。

              程序清單12—5 thumb.php

              復制代碼 代碼如下:

              <?

              /pic/p>

              /pic/p>

              /pic/p>

              /pic/p>

              /pic/p>

              /pic/p>

              /pic/p>

              function makethumb($srcFile,$dstFile,$dstW,$dstH)

              {

              $data = GetImageSize($srcFile,&$info);

              switch ($data[2])

              {

              case 1:

              $imgsrc = @ImageCreateFromGIF($srcFile);

              break;

              case 2:

              $imgsrc = @ImageCreateFromJPEG($srcFile);

              break;

              case 3:

              $imgsrc = @ImageCreateFromPNG($srcFile);

              break;

              }

              $srcW = ImageSX($imgsrc);

              $srcH = ImageSY($imgsrc);

              $ni = ImageCreate($dstW,$dstH);

              ImageCopyResized($ni,$imgsrc,0,0,0,0,$dstW,$dstH,$srcW,$srcH);

              Imagegif($ni,$dstFile);

              /pic/p>

              /pic/p>

              }

              ?>

              在這個例子中,首先通過getimagesize()函數獲得源圖片的情況,再用 imagecreatefromgif()、

              imagecreatefromjpeg()或imagecreatefrompng()創建一個源位圖$imgsrc,然后用

              imagecreate()函數創建一個目標位圖,其長、寬各是源位圖的一半。然后調用imagecopyresized()

              函數,將源位圖縮小后拷貝到目標位圖中,最后再用imagegif()函數生成縮略圖。

              這里所用到的圖形處理函數就是由安裝的GD庫提供的,現對其分別進行說明。首先

              介紹getimagesize()函數,其標準語法如下。

              語法:array getimagesize(string filename,array [imageinfo]);

              返回值:數組

              函數種類:圖形處理

              內容說明:本函數可用來取得GIF、JPEG及PNG 3種WWW上圖片的高與寬,不需要安裝GD library就可以便用本函數。返回的數組有4個元素,返回數組的第一個元素(索引值0)是圖片的高度,單位是像素(pixel);第二個元素(索引值1)是圖片的寬度;第三個元素(索引值2)是圖片的文件格式,其值1為GIF格式、2為JPEG/JPG格式、3為PNG格式;

              第四個元素(索引值3)為圖片的高與寬字符串,height=xxx width=yyy。

              通過getimagesize()函數的應用,能輕易獲取圖片的各種信息。下面給大家舉一個獲取圖片寬度、高度、格式、文件大小的信息的例子,來進一步領會getimagesize()函數的使用 技巧。

              程序imginfo如程序清單12—6所示。

              程序清單12-6 imginfo.php

              復制代碼 代碼如下:

              <?php

              function getImageInfo($img) /pic/p>

              {

              $img_info = getimagesize($img);

              switch ($img_info[2])

              {

              case 1:

              $imgtype = "GIF";

              break;

              case 2:

              $imgtype = "JPG";

              break;

              case 3:

              $imgtype = "PNG";

              break;

              }

              $img_type = $imgtype."圖像";

              $img_size = ceil(filesize($img)/1000)."k"; /pic/p>

              $new_img_info = array (

              "width"=>$img_info[0],

              "height"=>$img_info[1],

              "type"=>$img_type,

              "size"=>$img_size

              );

              print " width";

              print $img_info[0];

              print " height";

              print $img_info[1];

              print " format";

              print $img_type;

              print " size";

              print $img_size;

              print $new_img_info;

              }

              $img = "/www/htdocs/images/jf.gif";

              getImageInfo($img);

              ?>

              在程序12-5中要創建一個縮略圖,需要先創建一個用來繪圖的空白的畫布。

              ImageCreate函數可以做到這一點。它將返回一個圖像的標識符,并且需要告訴函數用像素

              計算的畫布有多大(x(寬度)與y(高度))。在程序12-5中用到的圖形創建函數imagecreate()

              的標準語法如下:

              語法:int imagecreate(int x_size,int y_size);

              返回值:整數

              函數種類:圖形處理

              內容說明:本函數用來建立一張全空的圖形。參數x_size、y_size為圖形的尺寸,單位

              為像素(pixel)。

              如果要從已經存在的圖片中取出圖片文件代碼,可以用imagecreatefromgif()、

              imagecreatefromjpeg()或imagecreatefrompng(),例如函數imagecreatefromgif()就是從一個GIF

              格式的圖片文件中取出對應的圖片源代碼,其標準語法如下:

              語法:int imagecreatefromgif(string filename);

              返回值:整數

              函數種類:圖形處理

              內容說明:本函數用來取出一張GIF格式圖形,通常作為背景或者基本的畫布樣本使

              用。參數filename可以是本地端的文件,也可以是網絡的URL地址。返回值為GIF的文件

              代碼,可供其他函數使用。

              在將源位圖縮小后拷貝到目標位圖中時,用到了imagecopyresized()函數,此函數可以

              復制新圖并調整大小,其標準語法如下:

              語法:int imagecopyresized(int dst_im,int src_im,int dstX,int dstY,int srcX,int srcY,

              int dstW,int dstH,int srcW,int srcH);

              返回值:整數

              函數種類:圖形處理

              內容說明:本函數可復制新圖,并重新調整圖片的大小尺寸。參數那是目的在前,來

              源在后。參數ddst_im及src_im為圖片的handle。參數dstX、dstY、srcX、srcY分別為目的

              及來源的坐標。參數dstW、dstH、srcW、srcH分別為來源及目的的寬及高,若欲調整新圖

              的尺寸就在這里配置。

              最后在輸出圖像時用到的imagegif()函數的標準語法如下:

              語法:int imagegif(int im,string [filename]);

              返問值:整數

              函數種類:圖形處理

              內容說明:本函數用來建立一張GIF格式圖形。參數im為使用ImageCreate()所建立

              的圖片代碼,參數filename可省略,若無本參數filename,則會將圖片直接送到瀏覽器端,

              記得在送出圖片之前要先送出使用Content-type:image/gif的標頭字符串(header)到瀏覽器

              端,以順利傳輸圖片。若要使用透明背景的GIF圖,也就是GIF89a的格式,需要先使用

              ImageColorTransparent()配置透明背景。本函數產生的GIF圖,由于有版權的問題,因此

              在商業上的使用還要多加考慮。</p

            【php生成圖片縮略圖的方法】相關文章:

            PHP生成縮略圖的方法03-17

            php上傳圖片生成縮略圖02-17

            php生成圖片縮略圖功能示例10-31

            PHP生成縮略圖的類的方法08-05

            PHP生成圖片縮略圖類示例代碼03-08

            php生成縮略圖的兩種方法02-12

            php生成圓角圖片的方法技巧10-02

            php生成縮略圖的兩種方法(代碼)11-03

            php生成高清縮略圖實例02-05

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院