現在の位置: ホーム> 最新記事一覧> 画像切断にPHPおよびGDライブラリを使用する方法|完全なチュートリアルとコードの例

画像切断にPHPおよびGDライブラリを使用する方法|完全なチュートリアルとコードの例

M66 2025-07-29

導入

インターネットの開発により、画像処理は最新のウェブサイト開発の重要な部分になりました。画像切断は一般的な要件であり、大きな画像を複数の小さな画像に分割したり、1つの大きな画像にスプライしたりすることができます。この記事では、PHPを使用してGDライブラリを組み合わせて画像切断を実現する方法を示します。

準備

画像処理を行う前に、サーバーにPHPおよびGDライブラリがインストールされていることを確認してください。 GDライブラリは、透かしを生成、スケーリング、追加するのに役立つ強力な画像処理ツールです。 GDライブラリがインストールされているかどうかわからない場合は、phpinfo()関数を使用して関連情報を表示できます。

写真をロードします

まず、メモリにカットするために必要な画像をロードする必要があります。 PHPは、ImageCreateFromJpeg()、ImageCreateFrommpng()、ImageCreateFromgif()などの関数を提供し、異なる形式の画像ファイルから画像リソースを作成できるようにします。

JPEG形式で画像をロードするための簡単なコード例を次に示します。

<?php<br> $ img = imagecreatefromjpeg( &#39;emple.jpg&#39;);

写真をカットします

次に、GDライブラリによって提供されたImageCopyResampled()関数を使用して、元の画像を複数の小さな画像にカットできます。切断の鍵は、切断の位置とサイズを決定することです。

次のコードは、400x400サイズの画像を4つの小さな200x200画像にカットする方法を示しています。

<?php<br> // 200x200の4つの空白の画像リソースを作成します<br>$ smallimg1 = imageCreateTrueColor(200、200);<br> $ smallimg2 = imageCreateTrueColor(200、200);<br> $ smallimg3 = imageCreateTrueColor(200、200);<br> $ smallimg4 = imageCreateTrueColor(200、200);<br><br> //写真をカットします<br>ImageCopyResampled($ smallimg1、$ img、0、0、0、0、200、200、400、400);<br> ImageCopyResampled($ smallimg2、$ img、0、0、200、0、200、200、400、400);<br> ImageCopyResampled($ smallimg3、$ img、0、0、0、200、200、200、400、400);<br> ImageCopyResampled($ smallimg4、$ img、0、0、200、200、200、200、400、400);<br><br> //カット写真を保存します<br>ImageJpeg($ smallimg1、 &#39;smallimg1.jpg&#39;);<br> imagejpeg($ smallimg2、 &#39;smallimg2.jpg&#39;);<br> ImageJpeg($ smallimg3、 &#39;smallimg3.jpg&#39;);<br> ImageJpeg($ smallimg4、 &#39;smallimg4.jpg&#39;);

上記の例では、最初に200x200サイズの4つの空白の画像リソースを作成しました。次に、ImageCopyResampled()関数を使用して、元の画像を4つの小さな画像にカットし、ファイルに保存します。

リソースをクリーンアップします

画像を処理した後、メモリの漏れを避けるためにメモリを解放する必要があります。画像リソースは、Imagedestroy()関数を呼び出すことで破壊できます。

<?php<br> Imagedestroy($ smallimg1);<br> Imagedestroy($ smallimg2);<br> Imagedestroy($ smallimg3);<br> Imagedestroy($ smallimg4);

Imagedestroy()関数を呼び出すことにより、画像を処理するときに占有されているメモリをクリアして、他のタスクのリソースを解放します。

要約します

この記事では、画像切断にPHPおよびGDライブラリを使用する方法について説明します。最初に、画像をメモリにロードし、次にimageCopyResampled()関数を使用して、画像を複数の小さな画像にカットして保存します。最後に、Imagedestroy()関数を介して画像リソースをリリースします。この記事が、画像切断のためにPHPおよびGDライブラリをよりよく理解し、使用するのに役立つことを願っています。