WEB制作のメモ帳

PHPのGD関数で画像サイズを縮小

2011-05-12

php

パソコンで使用している画像を携帯で呼び出す場合
そのまま利用すると大抵サイズオーバー
かといって携帯用にサイズを作り直して登録するのも面倒なので便利な方法をメモ

SOURCE
■PHP
$img_tmp="sample.jpg";

//画像サイズを取得
$imgary=getimagesize($img_tmp);
$srcwidth=$imgary[0];
$srcheight=$imgary[1];

//リサイズサイズの設定
$newwidth=220;
$newheight=$srcheight*220/$srcwidth;

//元画像のキャンバスを生成
$image = imagecreatefromjpeg($img_tmp);

//縮小後のキャンバスを生成
$newimage = imagecreatetruecolor($newwidth, $newheight);

//元画像を縮小してコピー
imagecopyresampled($newimage, $image, 0, 0, 0, 0, $newwidth, $newheight, $srcwidth, $srcheight);
imagedestroy($image);

header("Content-type: image/jpeg");
//jpeg方式で保存
imagejpeg($newimage);
//リソースを解放
imagedestroy($newimage);

※GD関数を使うためにはサーバーのConfigure Command に
「--with-gd」がインストールされている必要があります