PHP實(shí)現(xiàn)將上傳圖片自動(dòng)縮放到指定分辨率,并保持清晰度封裝類示例
本文實(shí)例講述了PHP實(shí)現(xiàn)將上傳圖片自動(dòng)縮放到指定分辨率,并保持清晰度封裝類。分享給大家供大家參考,具體如下:
class AutoImage{
private $image;
public function resize($src, $width, $height){
//$src 就是 $_FILES['upload_image_file']['tmp_name']
//$width和$height是指定的分辨率
//如果想按指定比例放縮,可以將$width和$height改為$src的指定比例
$this->image = $src;
$info = getimagesize($src);//獲取圖片的真實(shí)寬、高、類型
if($info[0] == $width && $info[1] == $height){
//如果分辨率一樣,直接返回原圖
return $src;
}
switch ($info['mime']){
case 'image/jpeg':
header('Content-Type:image/jpeg');
$image_wp = imagecreatetruecolor($width, $height);
$image_src = imagecreatefromjpeg($src);
imagecopyresampled($image_wp, $image_src, 0, 0, 0, 0, $width, $height, $info[0], $info[1]);
imagedestroy($image_src);
imagejpeg($image_wp,$this->image);
break;
case 'image/png':
header('Content-Type:image/png');
$image_wp = imagecreatetruecolor($width, $height);
$image_src = imagecreatefrompng($src);
imagecopyresampled($image_wp, $image_src, 0, 0, 0, 0, $width, $height, $info[0], $info[1]);
imagedestroy($image_src);
imagejpeg($image_wp,$this->image);
break;
case 'image/gif':
header('Content-Type:image/gif');
$image_wp = imagecreatetruecolor($width, $height);
$image_src = imagecreatefromgif($src);
imagecopyresampled($image_wp, $image_src, 0, 0, 0, 0, $width, $height, $info[0], $info[1]);
imagedestroy($image_src);
imagejpeg($image_wp,$this->image);
break;
}
return $this->image;
}
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php使用sql server驗(yàn)證連接數(shù)據(jù)庫的方法
這篇文章主要介紹了php使用sql server驗(yàn)證連接數(shù)據(jù)庫的方法,以實(shí)例形式分析了php采用基于SQL Server驗(yàn)證進(jìn)行數(shù)據(jù)庫連接的原理及技巧,并總結(jié)了相關(guān)注意事項(xiàng),需要的朋友可以參考下2014-12-12
PHP中session跨子域的三種實(shí)現(xiàn)方法
做項(xiàng)目的時(shí)候跨域問題在cooike及session中我們經(jīng)常會(huì)使用到了,不過php對于子域處理是比較簡單的了,小編整理了三個(gè)解決方案,下面一起來看看。2016-07-07
Drupal 添加模塊出現(xiàn)莫名其妙的錯(cuò)誤的解決方法(往往出現(xiàn)在模塊較多時(shí))
今天用學(xué)習(xí)用Drupal,在同時(shí)安裝ctools,CCK,views,panels時(shí)出現(xiàn)了奇怪的狀況。2011-04-04
php strrpos()與strripos()函數(shù)
以下是對php中的strrpos函數(shù)與strripos函數(shù)的用法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下2013-08-08
PHP中功能強(qiáng)大卻很少使用的函數(shù)實(shí)例小結(jié)
這篇文章主要介紹了PHP中功能強(qiáng)大卻很少使用的函數(shù),結(jié)合實(shí)例形式總結(jié)分析了php中非常實(shí)用的幾個(gè)函數(shù),包括函數(shù)的調(diào)用、注冊、調(diào)用、判斷等操作技巧,需要的朋友可以參考下2016-11-11
PHP實(shí)現(xiàn)清除wordpress里惡意代碼
這篇文章主要介紹了PHP實(shí)現(xiàn)清除wordpress里惡意代碼的方法以及相關(guān)代碼和使用方法,有需要的小伙伴可以參考下。2015-10-10

