首頁  >  文章  >  後端開發  >  PHP處理圖片大小的實例分享

PHP處理圖片大小的實例分享

*文
*文原創
2017-12-23 14:30:121399瀏覽

很多時候用戶上傳的圖片很大,直接回傳原圖會非常佔用伺服器頻寬。這時候我們就需要對圖片大小進行處理,那麼PHP該如何實現處理圖片大小呢?本文就來分享使用GD庫處理圖片大小的實例。

1.利用php的方法進行圖片尺寸修改與儲存

-------------------------- ---------

準備工作:1.需要原始圖片的連結2.GD庫支援

-------------- ---------------------

  假設原始圖片連結:$url;

   方法運算:

#第一步:  $arrimg = getimagesize($url);

+++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++

$arrimg :這個的形式是:

Array
(
    [0] => 350
    [1] => 318
    [2] => 2
    [3] => width="350" height="318"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)

說明:$ arrimg[2]中的數字代表不同圖片類型的數字索引查看:

返回結果說明

索引0 給出的是圖像寬度的像素值

索引1 給出的是影像高度的像素值

索引2 給出的是影像的類型,回傳的是數字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order)

,9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC, 14 = IFF,15 = WBMP,16 = XBM

索引3 給出的是一個寬度和高度的字串,可以直接用於HTML 的dc0870658837139040642baa5555a380 標籤

#索引bits給出的是影像的每個顏色的位數,二進位格式

索引channels 給出的是影像的通道值,RGB 影像預設是3

索引mime 給出的是影像的MIME 訊息,此訊息可以用來在HTTP Content-type 頭訊息中發送正確的訊息,如:

header("Content-type: image/jpeg");

+ ++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++

第二步:根據寬:$arrimg[0],長:$arrimg [1]進行比例處理,把需要得到後的圖片大小尺寸按照比例弄出來

在這裡暫時設定需要得到圖片的大小尺寸為:$newheight  $newwidth

#++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++

第三步:$thumb = imagecreatetruecolor($newwidth, $newheight);

   說明:imagecreatetruecolor() 傳回一個映像標識符,代表了一幅大小為$newwidth和$newheight的黑色影像

#+++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++

第四步: $source = imagecreatefromjpeg($url);

   說明:imagecreatefromjpeg() 傳回一映像標識符,代表了從給定的檔案名稱取得的圖片


++++++++++++++++++++++++++++++++++++++++++ +++++++++++++

第五步:ImageCopyResampled($thumb,$source,0,0,0,0,$newwidth,$newheight,$arrimg[0] ,$arrimg[1]);

imagecopyresampled -- 重採樣拷貝部分影像並調整大小。

++++++++++++++

第六步:

   進行判斷什麼樣的類型然後進行儲存

switch($arrimg[2]){
//支持jpg
case  2:
imagejpeg($thumb,'test.jpg');
break;
//支持png
case 3:
imagejpeg($thumb,'test.jpg');
break;
default:
echo "<script>alert(&#39;带开发其他类型&#39;);</script>";
break;
}

相關推薦:

php實作取得遠端圖片尺寸以及大小的高效方法

php圖片處理之圖片背景、畫布操作

php GD庫產生影像的幾個函數總結

#

以上是PHP處理圖片大小的實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn