萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 使用gd庫實現php服務端圖片裁剪和生成縮略圖

使用gd庫實現php服務端圖片裁剪和生成縮略圖

 一般用戶上傳頭像時,都會讓用戶自行裁剪圖片。那麼php怎麼實現這個功能呢?php中裁剪圖片主要使用gd庫的imagecopyresampled方法

裁剪示例: 34.jpg     最終裁剪成的圖片:   35.jpg   其中虛線框內就是要裁剪出來的圖片,最終保存成100寬的圖片。代碼如下:    代碼如下: $src_path = '1.jpg'; //創建源圖的實例 $src = imagecreatefromstring(file_get_contents($src_path));   //裁剪開區域左上角的點的坐標 $x = 100; $y = 12; //裁剪區域的寬和高 $width = 200; $height = 200; //最終保存成圖片的寬和高,和源要等比例,否則會變形 $final_width = 100; $final_height = round($final_width * $height / $width);   //將裁剪區域復制到新圖片上,並根據源和目標的寬高進行縮放或者拉升 $new_image = imagecreatetruecolor($final_width, $final_height); imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);   //輸出圖片 header('Content-Type: image/jpeg'); imagejpeg($new_image);   imagedestroy($src); imagedestroy($new_image);       其實如果坐標為(0,0),裁剪區域的寬高和源圖的寬高一致,那麼就是生成縮略圖的功能了。   總結   這裡只列出了php裁剪圖片的示例,屬於服務端的功能。如果客戶端有需要,推薦一個jquery的插件imageAreaSelect,兼容性非常不錯。  
copyright © 萬盛學電腦網 all rights reserved