現在の位置: ホーム> 最新記事一覧> PHP画像処理チュートリアル:GDライブラリとImagemagickの分析実践的なスキル

PHP画像処理チュートリアル:GDライブラリとImagemagickの分析実践的なスキル

M66 2025-07-10

PHPで画像データ型を処理および操作する方法

画像処理は、Web開発において非常に一般的な要件です。検証コード、トリミングおよびスケーリング画像、または画像の形式に変換するかどうかにかかわらず、画像データ型の操作とは分離できません。 PHP環境では、これらのタスクは主にGDライブラリとImageMagickライブラリを通じて達成できます。

GDライブラリの使用

GDライブラリは、PHPに組み込みの画像処理ライブラリであり、画像データを処理および操作するための豊富な機能を提供します。いくつかの一般的な操作の例を次に示します。

空白の画像を作成します

$width = 400;  // 写真の幅
$height = 200; // 写真の高さ

$image = imagecreatetruecolor($width, $height);  // 空白の画像を作成します

$backgroundColor = imagecolorallocate($image, 255, 255, 255);  // 背景色を白に設定します
imagefill($image, 0, 0, $backgroundColor);  // 背景の色を埋めます

header('Content-type: image/png');  // 設定HTTPヘッダー出力はですPNGフォーマット画像
imagepng($image);  // 出力画像
imagedestroy($image);  // 画像リソースを破壊します

写真の読み込みと保存

$sourceFile = 'source.jpg';  // ソース画像ファイル名
$destinationFile = 'destination.png';  // ターゲット画像ファイル名

$sourceImage = imagecreatefromjpeg($sourceFile);  // ソース画像の読み込み
$imageWidth = imagesx($sourceImage);  // 画像幅を取得します
$imageHeight = imagesy($sourceImage);  // 画像の高さを取得します

$destinationImage = imagecreatetruecolor($imageWidth, $imageHeight);  // ターゲット画像を作成します


header('Content-type: image/png');  // 設定HTTPヘッダー出力はですPNGフォーマット画像
imagepng($destinationImage, $destinationFile);  // ターゲット画像を保存します
imagedestroy($sourceImage);  // ソース画像リソースを破壊します
imagedestroy($destinationImage);  // ターゲット画像リソースを破壊します

画像を収集してズームします

$sourceFile = 'source.jpg';  // ソース画像ファイル名
$destinationFile = 'destination.jpg';  // ターゲット画像ファイル名
$destinationWidth = 300;  // ターゲット画像幅
$destinationHeight = 200;  // ターゲット画像の高さ

$sourceImage = imagecreatefromjpeg($sourceFile);  // ソース画像の読み込み
$sourceWidth = imagesx($sourceImage);  // ソースイメージの幅を取得します
$sourceHeight = imagesy($sourceImage);  // ソース画像の高さを取得します

$destinationImage = imagecreatetruecolor($destinationWidth, $destinationHeight);  // ターゲット画像を作成します

imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $destinationWidth, $destinationHeight, $sourceWidth, $sourceHeight);  // ソース画像をターゲット画像にズームします

header('Content-type: image/jpeg');  // 設定HTTPヘッダー出力はですJPEGフォーマット画像
imagejpeg($destinationImage, $destinationFile);  // ターゲット画像を保存します
imagedestroy($sourceImage);  // ソース画像リソースを破壊します
imagedestroy($destinationImage);  // ターゲット画像リソースを破壊します

ImageMagickライブラリの使用

GDライブラリに加えて、PHPは画像処理にImageMagickライブラリを使用することもできます。 ImageMagickはより強力で、画像の複雑な操作に適しています。これが簡単な例です。

 $sourceFile = 'source.jpg';  // ソース画像ファイル名
$destinationFile = 'destination.jpg';  // ターゲット画像ファイル名
$destinationWidth = 300;  // ターゲット画像幅
$destinationHeight = 200;  // ターゲット画像の高さ

$imagick = new Imagick($sourceFile);  // ソース画像の読み込み
$sourceWidth = $imagick->getImageWidth();  // ソースイメージの幅を取得します
$sourceHeight = $imagick->getImageHeight();  // ソース画像の高さを取得します

$imagick->cropThumbnailImage($destinationWidth, $destinationHeight);  // ソース画像をターゲットサイズにスケーリングします
$imagick->writeImage($destinationFile);  // ターゲット画像を保存します
$imagick->destroy();  // 画像リソースを破壊します

上記の例は、PHPのGDライブラリとImageMagickライブラリを使用して画像を柔軟に処理する方法を示しています。新しい画像の作成、読み込みと保存、トリミングとスケーリングのいずれであっても、両方のライブラリはさまざまなニーズを満たすことができます。プロジェクトの実際の状況によれば、開発に適したライブラリを選択してください。