PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimagerotate()関数を使って画像を指定した角度で回転させる方法

imagerotate() は、PHPに標準で組み込まれている関数の一つで、指定した角度(度数)だけ画像を回転させるために使用されます。GDライブラリが有効な環境で動作し、サムネイル生成や画像編集ツールなど、さまざまな場面で活用できます。

構文

resource imagerotate($image, $angle, $bgd_color, $ignore_transparent = 0)

パラメータ

imagerotate() 関数は、以下の4つのパラメータを受け取ります。

  • $image − imagecreatetruecolor() 関数や imagecreatefromjpeg() などの画像生成関数が返す画像リソースを指定します。処理対象となる画像のサイズや内容を保持します。

  • $angle − 回転させる角度を度数(degree)で指定します。画像は反時計回りに回転される点に注意してください。

  • $bgd_color − 回転によって生じた余白部分(カバーされない領域)の背景色を指定します。

  • $ignore_transparent − 0以外の値を設定すると、透過色が無視されます。省略可能なパラメータで、デフォルト値は0です。

戻り値

回転が成功した場合は、回転後の画像リソースを返します。失敗した場合には false を返します。

使用例1:90度回転させる

<?php
   // 画像ファイルのパスを変数に代入
   $image_name = 'C:\xampp\htdocs\test\23.jpg';

   // imagecreatefromjpeg() 関数で画像ファイルを読み込む
   $image = imagecreatefromjpeg($image_name);

   // imagerotate() 関数で画像を90度回転させる
   $img = imagerotate($image, 90, 0);

   // ブラウザに画像を出力する
   header("Content-type: image/png");
   imagepng($img);
?>

入力画像

PHPのimagerotate()関数を使って画像を指定した角度で回転させる方法

出力画像

PHPのimagerotate()関数を使って画像を指定した角度で回転させる方法

使用例2:180度回転させる

<?php
   // 画像ファイルのパスを変数に代入
   $image_name = 'C:\xampp\htdocs\test\23.jpg';

   // imagecreatefromjpeg() 関数で画像ファイルを読み込む
   $image = imagecreatefromjpeg($image_name);

   // imagerotate() 関数で画像を180度回転させる
   $img = imagerotate($image, 180, 0);

   // ブラウザに画像を出力する
   header("Content-type: image/png");
   imagepng($img);
?>

出力結果

PHPのimagerotate()関数を使って画像を指定した角度で回転させる方法

まとめ

imagerotate() 関数を使えば、PHPだけで簡単に画像を任意の角度で回転させることができます。角度は反時計回りで指定される点、回転後の余白には背景色が適用される点を押さえておくと、実装時のトラブルを防げます。JPEGやPNGなど、GDライブラリが対応している形式であれば、読み込み関数(imagecreatefromjpeg() や imagecreatefrompng() など)を使い分けることで柔軟に処理できます。

  1. PHPのimagecreatefromwbmp()関数でWBMPファイルやURLから新しい画像を作成する方法

    PHPには、WBMPファイルまたはURLから新しい画像を作成するための組み込み関数 imagecreatefromwbmp() が用意されています。この関数は、指定されたファイル名から取得した画像を表す画像リソース識別子を返します。WBMPファイルから画像を読み込んだ後に編集したい場合などに活用できる便利な関数です。また、imagewbmp() 関数を使えば、画像をWBMP形式へ変換して保存することも可能です。 構文 resource imagecreatefromwbmp(string $filename) パラメータ imagecreatefromwbmp() が受け取るパラメータは $f

  2. JavaとOpenCVで画像を回転させる方法をわかりやすく解説

    JavaでOpenCVを使って画像を回転させたい場合、ImgprocクラスのwarpAffine()メソッドを使用します。このメソッドは、指定された画像にアフィン変換(平行移動・回転・拡大縮小などの線形変換)を適用するためのものです。warpAffine()メソッドのパラメータwarpAffine()メソッドは、以下の引数を受け取ります。変換元の画像(src)、変換先の画像(dst)、変換行列(M)を表す3つのMatオブジェクト出力画像のサイズを表す整数値(Sizeオブジェクト)画像を回転させる手順画像を回転させるには、まずgetRotationMatrix2D()メソッドを使って回転行列を作