サムネイルを生成してみる
PHPでサムネイルを作ってみる。まずは「image」、「thumb」フォルダを作る。photoフォルダにtest.jpgをアップロードしておく。下記のコードでは元画像のサイズを3872×2592、サムネイルのサイズを120×80とする。クオリティを0~100で好みに調整する。(100にしないと画像がざらつく)
あとはこのPHPにアクセスするだけでサムネイルを生成してくれる。アップロード用のPHPにこういった処理を持たせてやると自作フォトログの画像管理が楽になるな。Flashでフォトログのインターフェイス作るよりも、こういった機能周りのコード書くほうが楽しくなってきた。
PHP:
<?php
$imagePath = "image/";
$thumbPath = "thumb/";
$imageName = "test.jpg";
$imageW = 3872;
$imageH = 2592;
$thumbW = 120;
$thumbH = 80;
$quality = 100; //jpgの保存品質(0-100)
$photo = @imagecreatefromjpeg($imagePath.$imageName);
if($photo)
{
//-----[サムネイルの領域確保]
$thumb = imagecreatetruecolor($thumbW, $thumbH);
//-----[画像をリサイズ]
$result = imagecopyresampled($thumb, $photo, 0, 0, 0, 0, $thumbW, $thumbH, $imageW, $imageH);
//-----[jpgファイルに保存]
imagejpeg($thumb, $thumbPath.$imageName, $quality);
//-----[メモリの解放]
imagedestroy($thumb);
imagedestroy($photo);
echo "<a href=\"$imagePath$imageName\"><img src=\"$thumbPath$imageName\" alt=\"サムネイル\" />";
}
else
{
echo "画像読み込みエラー";
}
?>
$imagePath = "image/";
$thumbPath = "thumb/";
$imageName = "test.jpg";
$imageW = 3872;
$imageH = 2592;
$thumbW = 120;
$thumbH = 80;
$quality = 100; //jpgの保存品質(0-100)
$photo = @imagecreatefromjpeg($imagePath.$imageName);
if($photo)
{
//-----[サムネイルの領域確保]
$thumb = imagecreatetruecolor($thumbW, $thumbH);
//-----[画像をリサイズ]
$result = imagecopyresampled($thumb, $photo, 0, 0, 0, 0, $thumbW, $thumbH, $imageW, $imageH);
//-----[jpgファイルに保存]
imagejpeg($thumb, $thumbPath.$imageName, $quality);
//-----[メモリの解放]
imagedestroy($thumb);
imagedestroy($photo);
echo "<a href=\"$imagePath$imageName\"><img src=\"$thumbPath$imageName\" alt=\"サムネイル\" />";
}
else
{
echo "画像読み込みエラー";
}
?>
Post a comment
Trackbacks
この記事のコメント・トラックバックRSS