當前位置: 首頁> 最新文章列表> 用imageflip() 實現對稱圖像藝術處理

用imageflip() 實現對稱圖像藝術處理

M66 2025-06-05

在進行圖像處理時,鏡像或對稱效果是一種常見且頗具藝術感的手法。 PHP 提供了一個簡潔的函數—— imageflip() ,可以輕鬆實現圖像的水平翻轉、垂直翻轉或同時翻轉兩者,從而創造出對稱藝術效果。本文將帶你了解imageflip()的基本用法,並通過一個完整示例演示如何用它製作出對稱圖像。

一、 imageflip()是什麼?

imageflip()是PHP 的GD 庫中用於圖像翻轉的函數。它的語法如下:

 bool imageflip(GdImage $image, int $mode)
  • $image :要處理的圖像資源。

  • $mode :翻轉模式,可以是以下三種之一:

    • IMG_FLIP_HORIZONTAL :水平翻轉(鏡像左右顛倒)。

    • IMG_FLIP_VERTICAL :垂直翻轉(鏡像上下顛倒)。

    • IMG_FLIP_BOTH :同時進行水平與垂直翻轉。

這個函數從PHP 5.5.0 開始引入,因此請確保你的運行環境支持。

二、如何製作對稱圖像藝術?

假設我們有一張圖片,我們希望通過水平翻轉來製作一個左右對稱的圖像,方法是:

  1. 將原圖分割為一半。

  2. 複製這半張圖像。

  3. imageflip()進行水平翻轉。

  4. 將翻轉後的部分拼接到原圖旁邊,形成對稱效果。

三、示例代碼

下面是一個完整的PHP 示例代碼,實現了上述操作:

 <?php
// 載入原圖
$sourcePath = 'https://m66.net/images/sample.jpg';
$sourceImage = imagecreatefromjpeg($sourcePath);

$width = imagesx($sourceImage);
$height = imagesy($sourceImage);

// 創建一半的畫布
$halfWidth = (int)($width / 2);
$halfImage = imagecreatetruecolor($halfWidth, $height);

// 複製左半部分
imagecopy($halfImage, $sourceImage, 0, 0, 0, 0, $halfWidth, $height);

// 創建翻轉的副本
$flippedHalf = imagecreatetruecolor($halfWidth, $height);
imagecopy($flippedHalf, $halfImage, 0, 0, 0, 0, $halfWidth, $height);
imageflip($flippedHalf, IMG_FLIP_HORIZONTAL);

// 創建新畫布,用來放置對稱圖像
$symmetryImage = imagecreatetruecolor($width, $height);

// 合併原始左半與翻轉右半
imagecopy($symmetryImage, $halfImage, 0, 0, 0, 0, $halfWidth, $height);
imagecopy($symmetryImage, $flippedHalf, $halfWidth, 0, 0, 0, $halfWidth, $height);

// 輸出到瀏覽器
header('Content-Type: image/jpeg');
imagejpeg($symmetryImage);

// 清理資源
imagedestroy($sourceImage);
imagedestroy($halfImage);
imagedestroy($flippedHalf);
imagedestroy($symmetryImage);
?>

四、效果預覽

運行上述代碼後,你將得到一張左右對稱的圖像。例如,如果原圖是人物肖像,那麼輸出圖像將展現一個完美對稱的“鏡像人臉”,極具藝術感。

五、小貼士

  • 如果想實現上下對稱,將IMG_FLIP_HORIZONTAL替換為IMG_FLIP_VERTICAL即可。

  • imageflip()的圖像處理是原地進行的,因此建議複製原圖再處理,以免修改源文件。

  • imagecreatefromjpeg()也可替換為imagecreatefrompng()imagecreatefromgif() ,取決於你的圖像格式。

六、結語

imageflip()是一個極為實用的PHP 圖像處理工具。配合基本的GD 庫函數,你可以輕鬆實現各種對稱藝術效果,適用於頭像處理、創意圖像、拼圖遊戲甚至是生成AI 視覺素材等場景。下一次當你想為圖像增添一點“鏡像魔法”,不妨試試它!