インターネット技術の継続的な発展とアプリケーションの普及に伴い、多くの開発者が開発で頻繁に使用される PHP フレームワークを掘り出してきましたが、その中でもフラッグシップ フレームワークである thinkphp は当然見逃せません。中でも画像処理は開発に欠かせない部分ですが、今回はthinkphpフレームワークにおける画像の回転・トリミング機能について紹介します。
ステップ 1: thinkphp フレームワークをインストールする
thinkphp フレームワークを独自の開発で使用したい場合は、当然、それを独自のプロジェクトにインストールする必要があります。 thinkphp のインストールは非常に簡単で、解凍した圧縮パッケージをプロジェクトのルート ディレクトリに直接移動するだけです。移動後、プロジェクト内のエントリ ファイルindex.phpを変更するだけで、thinkphpの使用を開始できます。
ステップ 2: thinkphp に画像処理クラスを導入する
thinkphp フレームワークに画像処理クラスを導入して、主に拡大縮小、切り抜き、回転などの基本的な処理方法を含む画像を操作します。この記事では、その中でも回転クロップに焦点を当てます。
次のコードをコントローラーに追加して、画像処理クラスを導入します。
use think\Image;
ステップ 3: 画像の回転とトリミングの実装
回転とトリミングは、回転とトリミングを組み合わせた操作です。実装も非常に簡単です。この記事の最も難しい部分は、rotateCrop 関数のコード実装です。
/** * 旋转并裁剪图片操作 * @param string $image 被操作图片路径 * @param int $width 裁剪宽度 * @param int $height 裁剪高度 * @param int $degree 旋转角度 * @return bool|string 处理后保存的文件路径或者false **/ public function rotateCrop($image, $width, $height, $degree) { $image = Image::open($image); $image->rotate($degree)->crop($width, $height)->save($image); return $image->save() ? $image->getPathName() : false; }
この関数では、画像パス、トリミング幅、トリミング高さ、回転角度の 4 つのパラメータを渡す必要があります。画像パスは必須パラメータであり、他の 3 つのパラメータはオプションのパラメータです。幅と高さのデフォルトはゼロです。つまり、トリミングは実行されません。回転角度のデフォルトも 0 で、これは回転が実行されないことを意味します。
これらの操作の中で最も重要なのは、回転とトリミングの操作です。Image::open($image) 関数は、画像オブジェクトを開き、オブジェクト内のrotate() メソッドと Crop() メソッドを呼び出して、回転とトリミングを実行します。最後に、save() メソッドは画像を保存して出力します。
ステップ 4: 効果をテストする
最後に、コードをテストしましょう。次のコードをコントローラーに追加します。
$image = 'image/test.jpg'; $width = 200; $height = 300; $degree = 90; $test = $this->rotateCrop($image, $width, $height, $degree); echo '<img src="'.$test.'" />';
上記のコードでは、$image はターゲット画像パス、$width と $height はテスト トリミング パラメーター、$degree はテスト回転パラメーターです (実行後)。 rotateCrop() 関数は保存された画像パスを返し、最終的にそれをページに表示します。すべてが正しいことを確認した後、ページを更新すると、処理後の画像が表示されます。
概要
この記事の導入を通じて、誰もが thinkphp フレームワークでの画像の回転とトリミングの実装を習得したと思います。開発には画像処理が欠かせないため、さまざまな画像処理方法を習得する必要があります。
以上がthinkphp フレームワークの画像回転とトリミング機能の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。