php gd庫實現服務端圖片裁剪與縮圖

來源:互聯網
上載者:User

例子,php中裁剪圖片主要使用gd庫的imagecopyresampled方法。裁剪圖片的例子:

最終裁剪成的圖片:

其中虛線框內就是要裁剪出來的圖片,最終儲存成100寬的圖片。代碼:

  1. $src_path = '1.jpg';
  2. //建立源圖的執行個體
  3. $src = imagecreatefromstring(file_get_contents($src_path));
  4. //裁剪開地區左上方的點的座標
  5. $x = 100;
  6. $y = 12;
  7. //裁剪地區的寬和高
  8. $width = 200;
  9. $height = 200;
  10. //最終儲存成圖片的寬和高,和源要等比例,否則會變形
  11. $final_width = 100;
  12. $final_height = round($final_width * $height / $width);
  13. //將裁剪地區複製到新圖片上,並根據源和目標的寬高進行縮放或者拉升
  14. $new_image = imagecreatetruecolor($final_width, $final_height);
  15. imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
  16. //輸出圖片
  17. header('Content-Type: image/jpeg');
  18. imagejpeg($new_image);
  19. imagedestroy($src);
  20. imagedestroy($new_image);
複製代碼

其實如果座標為(0,0),裁剪地區的寬高和源圖的寬高一致,那麼就是產生縮圖的功能了。總結這裡只列出了php裁剪圖片的樣本,屬於服務端的功能。如果用戶端有需要,推薦一個jquery的外掛程式imageAreaSelect,相容性非常不錯。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.