當前位置: 首頁> 最新文章列表> 如何用PHP的imageflip函數製作一張有“照鏡子”效果的圖片?

如何用PHP的imageflip函數製作一張有“照鏡子”效果的圖片?

M66 2025-06-03

在圖像處理的世界裡,給圖片添加“照鏡子”效果是一種常見且有趣的操作。所謂“照鏡子”效果,指的是將圖像水平翻轉,使其看起來就像是原圖在鏡子中的倒影。借助PHP內置的imageflip()函數,這一操作可以非常輕鬆地實現。

下面我們將一步一步介紹如何使用imageflip()函數來實現這個效果。

一、準備工作

首先,確保你的服務器環境已經啟用了GD庫,這是PHP進行圖像處理的核心擴展。

你可以用以下代碼檢查GD庫是否啟用:

 <?php
if (extension_loaded('gd')) {
    echo "GD library is enabled.";
} else {
    echo "GD library is not enabled.";
}
?>

如果輸出提示GD庫已啟用,說明可以繼續下面的步驟。

二、加載原始圖片

我們需要先加載一張圖片,假設我們有一張JPEG格式的圖片,位於網站根目錄的/images/sample.jpg路徑下:

 <?php
// 加載圖片
$imagePath = 'https://m66.net/images/sample.jpg';
$image = imagecreatefromjpeg($imagePath);

if (!$image) {
    die("无法加載圖片!");
}
?>

注意:在實際應用中,如果是本地服務器處理圖片,應使用本地文件路徑而不是URL。上面的寫法適用於遠程圖片的演示情況。

三、翻轉圖片

使用imageflip()函數實現水平翻轉。該函數的語法如下:

 bool imageflip(GdImage $image, int $mode)

我們使用的模式是IMG_FLIP_HORIZONTAL ,代表水平翻轉:

 <?php
// 水平翻轉
imageflip($image, IMG_FLIP_HORIZONTAL);
?>

四、輸出或保存圖片

接下來,我們可以選擇直接輸出圖片到瀏覽器,或者將其保存為新文件。

方法1:直接輸出到瀏覽器

 <?php
// 圖片路徑(本示例用遠程地址演示)
$imagePath = 'https://m66.net/images/sample.jpg';

// 加載圖片
$image = imagecreatefromjpeg($imagePath);

if (!$image) {
    die("无法加載圖片!");
}

// 翻轉圖片(照鏡子效果)
imageflip($image, IMG_FLIP_HORIZONTAL);

// 保存翻轉後的圖片
$savePath = 'flipped_sample.jpg';
imagejpeg($image, $savePath);
imagedestroy($image);

echo "翻轉後的圖片已保存到:https://m66.net/$savePath";
?>