PHP GD庫生成圖像的幾個函數(shù)總結(jié)
使用GD庫中提供的函數(shù)動態(tài)繪制完成圖像以后,就需要輸出到瀏覽器或者將圖像保存起來。在PHP中,可以將動態(tài)繪制完成的畫布,直接生成GIF、JPEG、PNG和WBMP四種圖像格式??梢酝ㄟ^調(diào)用下面四個函數(shù)生成這些格式的圖像:
bool imagegif(resource $image[,string $filename]) //以GIF格式將圖像輸出
bool imagejpeg(resource $image[,string $filename[,int $quality]]) //以JPEG格式將圖像輸出
bool imagepng(resource $image[,string $filename]) //以PNG格式將圖像輸出
bool imagewbmp(resource $image[,string $filename[,int $foreground]]) //以WBMP格式將圖像輸出
以上四個函數(shù)的使用類似,前兩個參數(shù)的使用是相同的。第一個參數(shù)$image為必選項(xiàng),是前面介紹的圖像引用句柄。如果部位這些函數(shù)提供其他參數(shù),訪問時則直接將原圖像流出,并在瀏覽器使用中顯示動態(tài)輸出的圖像。但一定要在輸出之前,使用header()函數(shù)發(fā)送標(biāo)頭信息,用來通知瀏覽器使用正確的MIME類型對接收的內(nèi)容進(jìn)行解析,讓它知道我們發(fā)送的是圖片而不似乎文本的HTML。以下代碼段通過自動檢測GD庫支持的圖像類型,來寫出移植性更好的PHP程序。如下所示:
<?php
if(function_exists("imagegif")){ //判斷生成GIF格式圖像的函數(shù)是否存在
header("Content-type:image/gif"); //發(fā)送標(biāo)頭信息設(shè)置MIME類型為image/gif
imagegif($im); //以GIF格式將圖像輸出到瀏覽器
}elseif(function_exists("imageipeg")){
header("Content-type:image/jpeg");
imagejpeg($im,"",0.5);
}elseif(function_exists("imagepng")){
header("Content-type:image/png");
imagepng($im);
}elseif(function_exists("imagewbmp")){
header("Content-type:image/wbmp");
imagewbmp($im);
}else{
die("在PHP服務(wù)器中,不支持圖像");
}
?>
如果希望將PHP動態(tài)繪制的圖像保存在本地服務(wù)器上,則必須在第二個可選參數(shù)中指定一個文件名字符串。這樣不僅不會將圖像直接輸出到瀏覽器,也不需要使用header()函數(shù)發(fā)送標(biāo)頭信息。如果使用imageJPEG()函數(shù)生成JPEG格式的圖像,還可以通過第三個可選參數(shù)$quality指定JPEG格式圖像的品質(zhì),該參數(shù)可以提供的值是從0(最差品質(zhì),但文件最小)到100(最高品質(zhì),文件也最大)的整數(shù),默認(rèn)值為75.也可以為函數(shù)imageWBMP()提供第三個可選參數(shù)$forground,指定圖像的前景顏色,默認(rèn)顏色值為黑色。
- 使用PHP生成二維碼的兩種方法(帶logo圖像)
- php圖像處理函數(shù)大全(推薦收藏)
- PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法分析
- PHP圖片裁剪函數(shù)(保持圖像不變形)
- PHP圖像處理之imagecreate、imagedestroy函數(shù)介紹
- PHP實(shí)現(xiàn)提取一個圖像文件并在瀏覽器上顯示的代碼
- 基于OpenCV的PHP圖像人臉識別技術(shù)
- PHP圖像識別技術(shù)原理與實(shí)現(xiàn)
- PHP中繪制圖像的一些函數(shù)總結(jié)
- 解析php常用image圖像函數(shù)集
- PHP基于GD庫的圖像處理方法小結(jié)
- php實(shí)現(xiàn)的證件照換底色功能示例【人像摳圖/換背景圖】
相關(guān)文章
PHP實(shí)現(xiàn)多圖上傳(結(jié)合uploadify插件)思路分析
這篇文章主要介紹了PHP實(shí)現(xiàn)多圖上傳的方法,實(shí)例分析了php結(jié)合uploadify插件實(shí)現(xiàn)多圖上傳的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-11-11PHP實(shí)現(xiàn)將Word文件保存到SQL Server數(shù)據(jù)庫
這篇文章主要介紹了如何利用PHP實(shí)現(xiàn)將上傳的Word文件保存到SQL Server數(shù)據(jù)庫,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-02-02phpmyadmin提示The mbstring extension is missing的解決方法
這篇文章主要介紹了phpmyadmin提示The mbstring extension is missing的解決方法,分析了錯誤提示的原因與不同平臺的解決方法,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12PHP實(shí)現(xiàn)簡單的協(xié)程任務(wù)調(diào)度demo示例
這篇文章主要介紹了PHP實(shí)現(xiàn)簡單的協(xié)程任務(wù)調(diào)度demo,結(jié)合實(shí)例形式詳細(xì)分析了PHP基于協(xié)程的任務(wù)調(diào)度基本原理、定義及使用技巧,需要的朋友可以參考下2020-02-02php中OR與|| AND與&&的區(qū)別總結(jié)
以下是對php中OR與|| AND與&&的區(qū)別進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下2013-10-10PHP 防注入函數(shù)(格式化數(shù)據(jù))
下面的函數(shù)通過格式化數(shù)據(jù)的方法實(shí)現(xiàn)數(shù)據(jù)的addslashes,不過也建議大家參考下discuz的防注入函數(shù)。2011-08-08