当前位置: 首页> 最新文章列表> 制作一张“照镜子”效果的图片

制作一张“照镜子”效果的图片

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";
?>