note 34573 added to function.imagecopyresampled

From: Date: Thu, 31 Jul 2003 02:24:23 +0000
Subject: note 34573 added to function.imagecopyresampled
Groups: php.notes 
Request: Send a blank email to php-notes+get-53048@lists.php.net to get a copy of this message
On my page, an admin would upload an image of any size into mysql. On page display This script resizes the image to a max of 80 x 100 and creates a .jpg thumbnail if 1 does not already exist. The images were reduced from 200KB to 3KB with very good image quality. $query=mysql_query("select playerprofile.teamid, playerprofile.name, playerprofile.position, playerprofile.nickname, playerprofile.favteam, playerprofile.despiseteam, playerprofile.sportsman, playerprofile.favourite, playerprofile.embarrasing, playerprofile.themesong, playerprofile.guest1, playerprofile.guest2, playerprofile.guest3, teams.name, playerprofile.filename FROM playerprofile, teams WHERE playerprofile.teamid=teams.id and playerprofile.id=$id")or die(mysql_error()); $get=mysql_fetch_row($query); $teamid=$get[0]; $name=$get[1]; $position=$get[2]; $nickname=$get[3]; $favteam=$get[4]; $despiseteam=$get[5]; $sportsman=$get[6]; $favourite=$get[7]; $embarrasing=$get[8]; $themesong=$get[9]; $guest1=$get[10]; $guest2=$get[11]; $guest3=$get[12]; $teamname=$get[13]; $filename=$get[14]; $extension=strtolower(strstr"$filename", ".")); if(!$filename=="") { $imagehw = GetImageSize("http://.../getpic.php?id=$id"); $imagewidth = $imagehw[0]; $imageheight = $imagehw[1]; //get new sizes to make images max of 80 x 100 and in //proportion if($imagewidth > 80) { $percent=80/$imagewidth; $imagewidth=80; $imageheight=$percent * $imageheight; } if($imageheight > 100) { $percent=100/$imageheight; $imageheight=100; $imagewidth=$percent * $imagewidth; } //now resize and create thumbnail. Use the outputed //thumbnail for display. Keep the original large file in database //detect if thumbnail has already been created. If yes then //just go to display, no need to do routine again if(!file_exists('/filepath/$id.jpg')) { if($extension==".jpg" or $extension==".jpeg") { $src_img = imagecreatefromjpeg("http://..../getpic.php?id=$id"); } else if($extension==".gif") { $src_img = imagecreatefromgif("http://..../getpic.php?id=$id"); } else if($extension==".bmp") { $src_img = imagecreatefromwbmp("http://..../getpic.php?id=$id"); } $dstimage = imagecreatetruecolor($imagewidth, $imageheight); imagecopyresampled ($dstimage, $src_img, 0, 0, 0, 0, $imagewidth, $imageheight, $imagehw[0], $imagehw[1]); imagejpeg ($dstimage, "/filepath/$id.jpg", 75); ImageDestroy($src_img); ImageDestroy($dstimage); } echo "<img src='/img/profiles/$id.jpg' border='0'>"; } ---- Manual Page -- http://www.php.net/manual/en/function.imagecopyresampled.php Edit Note -- http://master.php.net/manage/user-notes.php?action=edit+34573 Delete Note -- http://master.php.net/manage/user-notes.php?action=delete+34573&report=yes Reject Note -- http://master.php.net/manage/user-notes.php?action=reject+34573&report=yes

« previous php.notes (#53048) next »