phpでイメージの縮小を考える

Webにアップした画像を携帯で見るときに画像が php で小さく出来ないかな?と思い php のマニュアルを見ていたら、imagecopyresampled ってものがあった。これで出来そうかな?

int imagecopyresampled ( resource dst_im, resource src_im,
   int dstX, int dstY, int srcX, int srcY,
   int dstW, int dstH, int srcW, int srcH)

引数 *座標は、左上を基準とします。
resource dst_im  : コピー先のイメージ
resource src_im :コピー元のイメージID
int dstX :コピー先のイメージX座標で、0でよし
int dstY :コピー先のイメージY座標で、0でよし
int srcX :コピー元のイメージX座標で、0でよし
int srcY :コピー元のイメージX座標で、0でよし
int dstW :コピー先の幅 (縮小したい幅)
int dstH :コピー先の高さ (縮小したい高さ)
int srcW :コピー元の幅 (元画像の幅)
int srcH :コピー元の高さ (元画像の高さ)
コピー先イメージは、 imagecreatetruecolor で新規で作っておく。

$dis_im = imagecreatetruecolor(縮小したい幅, 縮小したい高さ)

コピー元は imagecreatefromjpeg で新規に画像を作成しておく。

$src_im = imagecreatefromjpeg(コピー元ファイル名)

また、コピー元の画像の大きさを getimagesize で取得しておく。

$size = getimagesize (コピー元ファイル名)

上の返り値は、$size[0] =幅、 $size[1] =高さ

最後は、imagejpeg を使って、画像をブラウザまたはファイルに出力する。

imagejpeg ( コピー先ID ここでは、$dis_im , 出力ファイル名 , [品質])
品質は、なしでも良い。デフォルトは品質値(75)です。

こんな、感じで出来そうかな。

スポンサーリンク