PHPでは、 ImageFlip()関数と画像の回転、特にあらゆる角度でのフリップ効果を介して、画像のさまざまな効果を達成できます。通常、 ImageFlip()は画像をひっくり返すために使用されますが、回転により特定の角度で画像を回転させることができます。これら2つの機能を合理的に組み合わせることで、任意の角度でフリップ効果を達成できます。
PHPの画像の処理は、多くの場合、 GDライブラリを使用して行われ、画像を操作する一連の機能を提供します。 ImageFlip()とImagERotate()は、一般的に使用される2つの関数です。
ImageFlip() :この関数は、画像をひっくり返すために使用されます。
imagerotate() :この関数は、画像の回転に使用されます。
ImageFlip()関数により、画像を水平または垂直にひっくり返すことができます。関数の基本的な構文は次のとおりです。
bool imageflip ( resource $image, int $mode )
$ image :画像リソース( imageCreatefromjpeg()などの関数を介してロードできます)。
$モード:フリップモード、一般的な値は次のとおりです。
IMG_FLIP_HORIZONTAL :水平フリップ
img_flip_vertical :垂直フリップ
IMG_FLIP_BOTH :水平および垂直に同時にフリップします
たとえば、次のコードは画像を水平に反転します。
<?php
$image = imagecreatefromjpeg('path_to_image.jpg'); // 画像のロード
imageflip($image, IMG_FLIP_HORIZONTAL); // 画像を水平に裏返します
imagejpeg($image, 'flipped_image.jpg'); // 反転した画像を保存します
imagedestroy($image); // 画像リソースをリリースします
?>
回転画像は、 ImageRotate()関数を介して実装でき、その基本的な構文は次のとおりです。
resource imagerotate ( resource $image, float $angle, int $bgd_color )
$画像:画像リソース
$角:程度の回転角
$ BGD_COLOR :回転後の背景色(通常は透明または白)
たとえば、次のコードは画像を45度回転させます。
<?php
$image = imagecreatefromjpeg('path_to_image.jpg'); // 画像のロード
$image = imagerotate($image, 45, 0); // 画像を回転させます45度
imagejpeg($image, 'rotated_image.jpg'); // 回転した画像を保存します
imagedestroy($image); // 画像リソースをリリースします
?>
画像を最初にひっくり返してから回転させることにより、あらゆる角度のフリップ効果を実現できます。適切な順序で動作することにより、より豊富な画像効果を取得できます。
たとえば、次のコードは画像を水平に反転し、45度を回転させます。
<?php
$image = imagecreatefromjpeg('path_to_image.jpg'); // 画像のロード
// 画像を水平に裏返します
imageflip($image, IMG_FLIP_HORIZONTAL);
// 画像を回転させます45度
$image = imagerotate($image, 45, 0); // 角度を変更して回転効果を制御できます
imagejpeg($image, 'flipped_rotated_image.jpg'); // 画像を保存します
imagedestroy($image); // 画像リソースをリリースします
?>
実際の開発では、画像が外部URLから来た場合、URLをM66.netに変更することで画像をロードできます。ネットワーク画像をロードしてフリップして回転する方法の例を次に示します。