《PHP應用:php實現按指定大小等比縮放生成上傳圖片縮略圖的方法》要點:
本文介紹了PHP應用:php實現按指定大小等比縮放生成上傳圖片縮略圖的方法,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了php實現按指定大小等比縮放生成上傳圖片縮略圖的辦法.分享給大家供大家參考.具體實現辦法如下:PHP教程
代碼如下:
/**
?* *
?*等比縮放
?* @param unknown_type $srcImage?? 源圖片路徑
?* @param unknown_type $toFile???? 目標圖片路徑
?* @param unknown_type $maxWidth?? 最大寬
?* @param unknown_type $maxHeight? 最大高
?* @param unknown_type $imgQuality 圖片質量
?* @return unknown
?*/
function resize($srcImage,$toFile,$maxWidth = 100,$maxHeight = 100,$imgQuality=100)
{
??
??? list($width, $height, $type, $attr) = getimagesize($srcImage);
??? if($width < $maxWidth? || $height < $maxHeight) return ;
??? switch ($type) {
??? case 1: $img = imagecreatefromgif($srcImage); break;
??? case 2: $img = imagecreatefromjpeg($srcImage); break;
??? case 3: $img = imagecreatefrompng($srcImage); break;
??? }
??? $scale = min($maxWidth/$width, $maxHeight/$height); //求出綻放比例
????
??? if($scale < 1) {
??? $newWidth = floor($scale*$width);
??? $newHeight = floor($scale*$height);
??? $newImg = imagecreatetruecolor($newWidth, $newHeight);
??? imagecopyresampled($newImg, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
??? $newName = "";
??? $toFile = preg_replace("/(.gif|.jpg|.jpeg|.png)/i","",$toFile);
?
??? switch($type) {
??????? case 1: if(imagegif($newImg, "$toFile$newName.gif", $imgQuality))
??????? return "$newName.gif"; break;
??????? case 2: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
??????? return "$newName.jpg"; break;
??????? case 3: if(imagepng($newImg, "$toFile$newName.png", $imgQuality))
??????? return "$newName.png"; break;
??????? default: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
??????? return "$newName.jpg"; break;
??? }
??? imagedestroy($newImg);
??? }
??? imagedestroy($img);
??? return false;
}
希望本文所述對大家的PHP程序設計有所贊助.PHP教程
《PHP應用:php實現按指定大小等比縮放生成上傳圖片縮略圖的方法》是否對您有啟發,歡迎查看更多與《PHP應用:php實現按指定大小等比縮放生成上傳圖片縮略圖的方法》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/13403.html