當前位置: 首頁> 最新文章列表> PHP圖片裁剪與縮放實用教程:使用GD庫實現圖片處理

PHP圖片裁剪與縮放實用教程:使用GD庫實現圖片處理

M66 2025-10-07

PHP圖片裁剪與縮放實用教程

在網站開發過程中,我們經常需要對圖片進行處理,例如裁剪指定區域或縮放圖片尺寸。 PHP自帶的GD庫提供了豐富的圖像處理函數,可以輕鬆完成這些操作。本文將帶你了解如何使用PHP實現圖片的裁剪和縮放功能,並附上相關的代碼示例。

裁剪圖片

裁剪圖片的過程是從原始圖片中截取出需要的部分。在PHP中,我們可以使用GD庫的函數來完成裁剪操作。

打開原始圖片

首先,使用imagecreatefromjpeg()imagecreatefrompng()等函數加載原始圖片資源:

 $sourceImage = imagecreatefromjpeg('original.jpg');

創建目標圖片

接著創建一個目標圖片,用於保存裁剪結果。可以使用imagecreatetruecolor()函數:

 $width = imagesx($sourceImage);
$height = imagesy($sourceImage);
$targetImage = imagecreatetruecolor($width, $height);

執行裁剪操作

通過imagecopy()函數,將原圖的部分區域複製到目標圖片中。下面的示例截取圖片中間部分:

 $targetX = 0;
$targetY = 0;
$sourceX = $width / 4;
$sourceY = $height / 4;
$targetWidth = $width / 2;
$targetHeight = $height / 2;
$sourceWidth = $width / 2;
$sourceHeight = $height / 2;

imagecopy($targetImage, $sourceImage, $targetX, $targetY, $sourceX, $sourceY, $targetWidth, $targetHeight);

保存裁剪結果

使用imagejpeg()將處理後的圖片保存為新文件:

 imagejpeg($targetImage, 'cropped.jpg');

至此,圖片裁剪操作完成。

縮放圖片

縮放圖片是根據指定比例或目標尺寸調整圖片大小。 PHP的GD庫同樣可以輕鬆實現這一功能。

加載原圖

同樣使用imagecreatefromjpeg()函數打開原始圖片:

 $sourceImage = imagecreatefromjpeg('original.jpg');

計算縮放尺寸

根據需求設定縮放比例或目標寬高:

 $scale = 0.5; // 縮小一半
$targetWidth = imagesx($sourceImage) * $scale;
$targetHeight = imagesy($sourceImage) * $scale;

創建縮放目標圖

通過imagecreatetruecolor()創建指定尺寸的目標圖:

 $targetImage = imagecreatetruecolor($targetWidth, $targetHeight);

執行縮放

使用imagecopyresampled()將原圖縮放到目標尺寸:

 imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, imagesx($sourceImage), imagesy($sourceImage));

保存縮放後的圖片

將縮放結果保存到文件:

 imagejpeg($targetImage, 'resized.jpg');

總結

本文詳細講解瞭如何使用PHP的GD庫對圖片進行裁剪與縮放,包括加載原圖、創建目標圖、執行裁剪或縮放操作以及保存結果。借助GD庫,開發者可以快速實現常見的圖像處理需求,為網站開發中的圖片管理提供靈活的解決方案。

參考資料

  • PHP官方圖像函數文檔:http://php.net/manual/en/ref.image.php
  • GD庫手冊:http://php.net/manual/en/book.image.php