人気ブログランキング |
(PHP)画像のリサイズ、回転を行う
PHPで画像のリサイズ、回転を行いたいわけですが、GDライブラリを使うと簡単にできます。

アップロードされた画像をファイルをリサイズする場合、下記のような感じです。
$imginfo = getimagesize( $_FILES['image']['tmp_name'] );
if ( $imginfo[2] == IMAGETYPE_JPEG || $imginfo[2] == IMAGETYPE_GIF
|| $imginfo[2] == IMAGETYPE_PNG ){
 
$image = ImageCreateFromJPEG($_FILES['image']['tmp_name']); //JPEGファイルを読み込む
//回転する場合は、下記のようにする 引数は、画像、角度、回転後にカバーされない部分に利用される背景色
//$image = imagerotate($image, 90, 0);
 
$width = $imginfo[0]; //ImageSX($image)でも可
$height = $imginfo[1]; //ImageSY($image)でも可
//縮小サイズ決定
$new_width = 240;
$rate = $new_width / $width; //圧縮比を求める
$new_height = $rate * $height;
 
// 空の画像を作成する。
$new_image = ImageCreateTrueColor($new_width, $new_height);
 
//リサイズ サンプリングしなおす場合。(ImageCopyResizedよりこっちの方が綺麗みたい)
ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height);
//ファイル保存(数値は品質)
ImageJPEG($new_image, $_FILES['image']['tmp_name'], 70);
 
//後処理 メモリ解放
ImageDestroy($image);
ImageDestroy($new_image);
}else{
//画像じゃないとき
echo "error:選択されたファイルは画像ファイルではありません。";
}

非常に簡単ですね。

参考:
【PHP】GDライブラリを使って画像のサムネイルを作成する。
Geekなぺーじ : PHP GDプログラミング
imagecopyresampled()の画像リサイズ処理|管理者メモ(雑記)|PHPアップローダー フォトアルバム
by Jehoshaphat | 2012-11-06 22:40 | PHP開発


<< (JavaScript)jQu... (PHP)AjaxUpload... >>