《PHP實例:PHP圖片處理之使用imagecopyresampled函數實現圖片縮放例子》要點:
本文介紹了PHP實例:PHP圖片處理之使用imagecopyresampled函數實現圖片縮放例子,希望對您有用。如果有疑問,可以聯(lián)系我們。
網站優(yōu)化不能只定在代碼上,內容也是網站最需要優(yōu)化的對象之一,而圖像又是網站中最主要的內容.圖像的優(yōu)化最需要處理的就是將所有上傳到網站中的大圖片自動縮放稱小圖(在網頁中大小夠用就行),以減少N倍的存儲空間,并提高下載瀏覽的速度.所以圖片縮放成一個動態(tài)網站必須要處理的任務,經常和文件上傳綁定在一起工作,能在上傳圖片的同時就調整其大小.當然有時也需要單獨處理圖片縮放,例如在做圖片列表時,如果直接用大圖而在顯示時才將其縮放成小圖,這樣做不僅下載速度會變慢,也會降低頁面響應時間.通常遇到這樣的應用都是在上傳圖片時,再為圖片縮放出一個專門用來做列表的小圖標,當單擊這個小圖標時,才會去下載大圖瀏覽.PHP實例
使用GD庫處理圖片縮放,通常使用imagecopyresized()和imagecopyresampled()兩個函數中的一個,而使用imagecopyresampled()函數處理后質量會更好一些.這里只介紹一下imagecopyresampled()函數的使用辦法.該函數的原型如下所示:PHP實例
代碼如下:
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)
該函數將一幅圖像中的正方形區(qū)域復制到另一個圖像中,平滑地插入像素值,因此減小了圖像的大小而仍然堅持了極高的清晰度.如果成功,則返回TRUE,失敗則返回FALSE.參數dst_image和src_image分別是目標圖像和源圖像的標識符.如果源和目標的寬度和高度不同,則會進行相應的圖像收縮和拉伸,坐標指的是左上角.本函數可用來在同一幅圖內部復制(如果dst_image和src_image相同的話)但如果區(qū)域交迭,則結果不可預知.在下面的示例中,以JPEG圖片格式為例,編寫一個圖像縮放的函數thumb(),代碼如下所示:PHP實例
代碼如下:
<?php
????//用于對圖片進行縮放
????function thumb($filename,$width=200,$height=200){
????????//獲取原圖像$filename的寬度$width_orig和高度$height_orig
????????list($width_orig,$height_orig) = getimagesize($filename);
????????//根據參數$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()函數進行縮放設置
????????imagecopyresampled($image_p,$image,0,0,0,0,$width,$height,$width_orig,$height_orig);
?
????????//將縮放后的圖片$image_p保留,100(質量最佳,文件最大)
????????imagejpeg($image_p,$filename);
?
????????imagedestroy($image_p);
????????imagedestroy($image);
????}
?
????thumb("brophp.jpg",100,100);
?>
維易PHP培訓學院每天發(fā)布《PHP實例:PHP圖片處理之使用imagecopyresampled函數實現圖片縮放例子》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/13885.html