php按百分比生成縮略圖的代碼分享
于是翻了一下手冊(cè),弄懂幾個(gè)函數(shù)后自己寫(xiě)了一個(gè)簡(jiǎn)單的php生成縮略圖的程序。沒(méi)有用類(lèi),我覺(jué)得一個(gè)函數(shù)就能搞定,而且對(duì)于新手來(lái)說(shuō)更容易去理解,從而可以幫助到更多的人。
支持按比分比縮略,支持按指定的長(zhǎng)寬縮略,默認(rèn)按百分比。程序中注釋已經(jīng)很詳細(xì)了,如有問(wèn)題可在下面留言,歡迎與我交流。
源碼如下:
<?php
/*
* param ori_img 原圖像的名稱(chēng)和路徑
* param new_img 生成圖像的名稱(chēng)
* param percent 表示按照原圖的百分比進(jìn)行縮略,此項(xiàng)為空時(shí)默認(rèn)按50%
* param width 指定縮略后的寬度
* param height 指定縮略后的高度
*
* 注:當(dāng) percent width height 都傳入值的時(shí)候,且percent>0時(shí),優(yōu)先按照百分比進(jìn)行縮略
* by:http://www.fzitv.net 更多源碼與你分享
* 溫馨提示:使用此功能要在php.ini中開(kāi)啟 gd2
*
**/
function makeThumb($ori_img, $new_img, $percent=50, $width=0, $height=0){
$original = getimagesize($ori_img); //得到圖片的信息,可以print_r($original)發(fā)現(xiàn)它就是一個(gè)數(shù)組
//$original[2]是圖片類(lèi)型,其中1表示gif、2表示jpg、3表示png
switch($original[2]){
case 1 : $s_original = imagecreatefromgif($ori_img);
break;
case 2 : $s_original = imagecreatefromjpeg($ori_img);
break;
case 3 : $s_original = imagecreatefrompng($ori_img);
break;
}
if($percent > 0){
$width = $original[0] * $percent / 100;
$width = ($width > 0) ? $width : 1;
$height = $original[1] * $percent / 100;
$height = ($height > 0) ? $height : 1;
}
//創(chuàng)建一個(gè)真彩的畫(huà)布
$canvas = imagecreatetruecolor($width,$height);
imagecopyresized($canvas, $s_original, 0, 0, 0, 0, $width, $height, $original[0], $original[1]);
//header("Content-type:image/jpeg");
//imagejpeg($canvas); //向?yàn)g覽器輸出圖片
$loop = imagejpeg($canvas, $new_img); //生成新的圖片
if($loop){
echo "OK!<br/>";
}
}
makeThumb("bhsj.jpg","suolue1.jpg",15,0,0); //生成原圖15%的縮略圖
makeThumb("bhsj.jpg","suolue2.jpg",0,200,120); //生成寬為100px,高為60px的縮略圖
makeThumb("bhsj.jpg","suolue3.jpg",15,200,120); //生成原圖15%的縮略圖(參數(shù)都填時(shí),百分率優(yōu)先級(jí)大)
?>
- php實(shí)現(xiàn)根據(jù)url自動(dòng)生成縮略圖的方法
- PHP生成自適應(yīng)大小的縮略圖類(lèi)及使用方法分享
- PHP使用imagick讀取PDF生成png縮略圖的兩種方法
- 基于PHP服務(wù)端圖片生成縮略圖的方法詳解
- jquery+php+ajax顯示上傳進(jìn)度的多圖片上傳并生成縮略圖代碼
- PHP基于GD庫(kù)的縮略圖生成代碼(支持jpg,gif,png格式)
- php實(shí)現(xiàn)上傳圖片生成縮略圖示例
- php利用GD庫(kù)生成縮略圖示例
- php生成縮略圖填充白邊(等比縮略圖方案)
- php實(shí)現(xiàn)按指定大小等比縮放生成上傳圖片縮略圖的方法
相關(guān)文章
PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十六)
這篇文章主要介紹了PHP網(wǎng)頁(yè)游戲Xnova(ogame)源碼解讀的攻擊任務(wù)頁(yè)面的代碼流程,需要的朋友可以參考下2014-06-06
WordPress主題中添加文章列表頁(yè)頁(yè)碼導(dǎo)航的PHP代碼實(shí)例
這篇文章主要介紹了WordPress主題中添加文章列表頁(yè)碼導(dǎo)航的PHP代碼實(shí)例,這也是制作各種WordPress主題必備的基礎(chǔ)功能,需要的朋友可以參考下2015-12-12
AMFPHP php遠(yuǎn)程調(diào)用(RPC, Remote Procedure Call)工具 快速入門(mén)教程
AMFPHP是PHP的遠(yuǎn)程調(diào)用(RPC, Remote Procedure Call)工具。2010-05-05
通過(guò)修改Laravel Auth使用salt和password進(jìn)行認(rèn)證用戶(hù)詳解
這篇文章主要給大家介紹了關(guān)于通過(guò)修改Laravel Auth使用salt和password進(jìn)行認(rèn)證用戶(hù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08
php解決搶購(gòu)秒殺抽獎(jiǎng)等大流量并發(fā)入庫(kù)導(dǎo)致的庫(kù)存負(fù)數(shù)的問(wèn)題
最近在做一個(gè)團(tuán)購(gòu)項(xiàng)目,遇到個(gè)問(wèn)題,就是在搶購(gòu)、秒殺、抽獎(jiǎng)等活動(dòng)時(shí),庫(kù)存數(shù)量有限,但是同時(shí)下單人數(shù)超過(guò)了庫(kù)存數(shù)量,就會(huì)導(dǎo)致商品超售問(wèn)題。那么我們?cè)趺磥?lái)解決這個(gè)問(wèn)題呢,我的思路如下:2014-06-06
php curl模擬post請(qǐng)求和提交多維數(shù)組的示例代碼
這篇文章主要介紹了php curl模擬post請(qǐng)求和提交多維數(shù)組的示例代碼,需要的朋友可以參考下2015-11-11

