ミラーリングまたは対称効果は、画像処理を実行する際の一般的で芸術的なテクニックです。 PHPは簡潔な関数-ImageFlip()を提供します。これは、水平方向、垂直、または同時に画像を簡単にめくり、対称的な芸術的効果を作成できます。この記事では、 ImageFlip()の基本的な使用法を説明し、それを使用して対称画像を作成する方法を完全に示します。
ImageFlip()は、PHPのGDライブラリでの画像フリッピングに使用される関数です。その構文は次のとおりです。
bool imageflip(GdImage $image, int $mode)
$画像:処理される画像リソース。
$モード:フリップモード。これは次の3つのうちの1つになります。
IMG_FLIP_HORIZONTAL :水平方向にフリップ(左右のミラー)。
img_flip_vertical :垂直方向にフリップ(上下をミラーリング)。
IMG_FLIP_BOTH :同時に水平および垂直にフリップします。
この関数はPHP 5.5.0から導入されているため、実行中の環境がサポートしていることを確認してください。
画像があるとし、次のように水平に反転して左右の対称的な画像を作成したいとします。
元の画像を半分に分けます。
画像のこの半分をコピーします。
ImageFlip()を使用して、水平方向に反転します。
元の画像の隣に反転した部分をスプライスして、対称効果を作成します。
上記の操作を実装する完全な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_VETICALに置き換えてください。
ImageFlip()画像処理は適切に実行されるため、元の画像をコピーして、ソースファイルの変更を避けるために処理することをお勧めします。
ImageCreatefromjpeg()は、画像形式に応じて、 ImageCreatefrommpng()またはImageCreateFromGIF()に置き換えることもできます。
ImageFlip()は、非常に実用的なPHP画像処理ツールです。基本的なGDライブラリ機能を使用すると、アバター処理、クリエイティブ画像、パズルゲーム、さらにはAIの視覚素材の生成などのシーンに適したさまざまな対称的な芸術効果を簡単に実現できます。次回、イメージに少し「ミラーマジック」を追加したいときは、試してみてください!