画像処理の世界では、画像に「ミラー」効果を追加することは一般的で興味深い操作です。いわゆる「鏡」効果は、鏡の元の画像の反射のように見えるように、画像を水平に反転することを指します。この操作は、PHPの内蔵ImageFlip()関数の助けを借りて非常に簡単に実装できます。
以下に、imageflip()関数を使用してこの効果を段階的に達成する方法を紹介します。
まず、サーバー環境にGDライブラリが有効になっていることを確認してください。これは、画像処理用のPHPのコア拡張です。
次のコードを使用して、GDライブラリが有効になっているかどうかを確認できます。
<?php
if (extension_loaded('gd')) {
echo "GD library is enabled.";
} else {
echo "GD library is not enabled.";
}
?>
出力がGDライブラリが有効になっていることをプロンプトする場合、次の手順を続けることができます。
最初に画像をロードする必要があります。 Webサイトのルートディレクトリの/images /sample.jpgパスにJPEG形式の画像があるとします。
<?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";
?>