小編給大家分享一下PHP如何調(diào)整JPEG圖像大小,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司是一家專業(yè)從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站制作公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)整合營銷推廣及網(wǎng)站設(shè)計開發(fā)服務(wù)!
在網(wǎng)站開發(fā)過程中,有時會遇到要求實現(xiàn)縮放圖像的功能、比如封面圖、縮略圖、資料圖等等。要根據(jù)需求規(guī)定圖片的尺寸,不過大家應(yīng)該也知道關(guān)于圖像大小,我們可以用HTML來修改,如下:
當(dāng)然本文的重點是用 PHP 調(diào)整圖像大小,下面我們就直接來看代碼:
PHP代碼如下:
$ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } // 重采樣的圖像 $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // 輸出圖像 imagejpeg($image_p, null, 100);
效果如下:
這里就需要大家掌握一個重要函數(shù)imagecopyresampled()
:
(該函數(shù)適用版本PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecopyresampled
— 重采樣拷貝部分圖像并調(diào)整大??;
語法:
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 ): bool
參數(shù)分別表示:
dst_image:目標(biāo)圖象資源。 src_image:源圖象資源。 dst_x:目標(biāo) X 坐標(biāo)點。 dst_y:目標(biāo) Y 坐標(biāo)點。 src_x:源的 X 坐標(biāo)點。 src_y:源的 Y 坐標(biāo)點。 dst_w:目標(biāo)寬度。 dst_h:目標(biāo)高度。 src_w:源圖象的寬度。 src_h:源圖象的高度。
imagecopyresampled() 將一幅圖像中的一塊正方形區(qū)域拷貝到另一個圖像中,平滑地插入像素值,因此,尤其是,減小了圖像的大小而仍然保持了極大的清晰度。
In other words, imagecopyresampled() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).
如果源和目標(biāo)的寬度和高度不同,則會進行相應(yīng)的圖像收縮和拉伸。坐標(biāo)指的是左上角。本函數(shù)可用來在同一幅圖內(nèi)部拷貝(如果 dst_image 和 src_image 相同的話)區(qū)域,但如果區(qū)域交迭的話則結(jié)果不可預(yù)知。
以上是“PHP如何調(diào)整JPEG圖像大小”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!