php實(shí)現(xiàn)等比例壓縮圖片
本文實(shí)例為大家分享了php實(shí)現(xiàn)等比例壓縮圖片的具體代碼,供大家參考,具體內(nèi)容如下
/**
* desription 壓縮圖片
* @param sting $imgsrc 圖片路徑
* @param string $imgdst 壓縮后保存路徑
*/
public function compressedImage($imgsrc, $imgdst) {
list($width, $height, $type) = getimagesize($imgsrc);
$new_width = $width;//壓縮后的圖片寬
$new_height = $height;//壓縮后的圖片高
if($width >= 600){
$per = 600 / $width;//計(jì)算比例
$new_width = $width * $per;
$new_height = $height * $per;
}
switch ($type) {
case 1:
$giftype = check_gifcartoon($imgsrc);
if ($giftype) {
header('Content-Type:image/gif');
$image_wp = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromgif($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//90代表的是質(zhì)量、壓縮圖片容量大小
imagejpeg($image_wp, $imgdst, 90);
imagedestroy($image_wp);
imagedestroy($image);
}
break;
case 2:
header('Content-Type:image/jpeg');
$image_wp = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//90代表的是質(zhì)量、壓縮圖片容量大小
imagejpeg($image_wp, $imgdst, 90);
imagedestroy($image_wp);
imagedestroy($image);
break;
case 3:
header('Content-Type:image/png');
$image_wp = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefrompng($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//90代表的是質(zhì)量、壓縮圖片容量大小
imagejpeg($image_wp, $imgdst, 90);
imagedestroy($image_wp);
imagedestroy($image);
break;
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- php高清晰度無損圖片壓縮功能的實(shí)現(xiàn)代碼
- Android小知識之圖片的3種壓縮方式小結(jié)
- 移動(dòng)端圖片上傳旋轉(zhuǎn)、壓縮問題的方法
- 微信小程序中上傳圖片并進(jìn)行壓縮的實(shí)現(xiàn)代碼
- Java實(shí)現(xiàn)的上傳并壓縮圖片功能【可等比例壓縮或原尺寸壓縮】
- 微信小程序之批量上傳并壓縮圖片的實(shí)例代碼
- java多線程實(shí)現(xiàn)下載圖片并壓縮
- PHP實(shí)現(xiàn)壓縮圖片尺寸并轉(zhuǎn)為jpg格式的方法示例
- Android LuBan與Compressor圖片壓縮方式
- 安卓圖片反復(fù)壓縮后為什么普遍會變綠而不是其它顏色?
相關(guān)文章
PHP實(shí)現(xiàn)的防止跨站和xss攻擊代碼【來自阿里云】
這篇文章主要介紹了PHP實(shí)現(xiàn)的防止跨站和xss攻擊代碼,是一款來自阿里云的防注入腳本,可實(shí)現(xiàn)針對注入、XSS攻擊等的過濾功能,需要的朋友可以參考下2018-01-01
php array_slice函數(shù)的使用以及參數(shù)詳解
array array_slice ( array array, int offset [, int length]),根據(jù) offset 和 length 參數(shù)所指定的 array 數(shù)組中的一段序列。offset 表示開始位置,length表示這段序列的長度.2008-08-08
FastCGI 進(jìn)程意外退出造成500錯(cuò)誤
這篇文章主要介紹了FastCGI 進(jìn)程意外退出造成500錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下2015-07-07
php實(shí)現(xiàn)encode64編碼類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)encode64編碼類,實(shí)例分析了php實(shí)現(xiàn)encode64編碼的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
PHP學(xué)習(xí)散記_編碼(json_encode 中文不顯示)
今天使用json_encode轉(zhuǎn)換數(shù)組的時(shí)候,出現(xiàn)了中文不顯示的情況。2011-11-11
PHP實(shí)現(xiàn)下載斷點(diǎn)續(xù)傳的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)下載斷點(diǎn)續(xù)傳的方法,通過自定義函數(shù)來實(shí)現(xiàn)PHP的斷點(diǎn)續(xù)傳下載方法,涉及文件的常見操作與指針和緩沖的用法,代碼中備有較為詳盡的注釋便于閱讀和理解,需要的朋友可以參考下2014-11-11
php的$_FILES的臨時(shí)儲存文件與回收機(jī)制實(shí)測過程
上傳文件是怎么個(gè)原理,大概的想了下,應(yīng)該是一種回收機(jī)制:點(diǎn)擊了臨時(shí)文件空間,那么,php自身應(yīng)該自己維護(hù)這塊空間的回收,具體的測試過程如下,感興趣的朋友可以參考下哈2013-07-07

