在圖像處理的世界裡,給圖片添加“照鏡子”效果是一種常見且有趣的操作。所謂“照鏡子”效果,指的是將圖像水平翻轉,使其看起來就像是原圖在鏡子中的倒影。借助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);
?>
接下來,我們可以選擇直接輸出圖片到瀏覽器,或者將其保存為新文件。
<?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";
?>