|
php有一系列很強(qiáng)大的圖形處理函數(shù),他們都統(tǒng)一包含在GD庫(kù)中,這些函數(shù)已經(jīng)基本滿足了一個(gè)網(wǎng)絡(luò)應(yīng)用的常規(guī)圖像處理要求,而且使用十分簡(jiǎn)單。
而我們有好多搞php的朋友(包括我)都認(rèn)為這些函數(shù)反正不是很常用,都懶的去研究或者了解這些函數(shù)了,而當(dāng)要面臨圖像處理方面的事情的時(shí)候,又很茫然,書(shū)道用時(shí)方恨少啊!
本系列這幾篇文章就是給大家歸納一下php的圖像處理函數(shù),不要求掌握,只希望能讓各位對(duì)這些函數(shù)有個(gè)大體印象,最起碼,有圖像處理方面的討論或者問(wèn)題的時(shí)候,心里能想起這些函數(shù),這樣大家在想解決方案的時(shí)候就能做到胸有成竹啦!廢話有點(diǎn)多!
本篇是開(kāi)篇,所以先將一下和這些函數(shù)相關(guān)的GD庫(kù),還有函數(shù)的分類,之后的文章將根據(jù)分類,來(lái)具體說(shuō)。
php函數(shù)都是在GD庫(kù)中的,要想使用GD庫(kù),php要開(kāi)啟GD庫(kù)支持,由于考慮本系列文章面對(duì)的不是菜鳥(niǎo)所以,就不講如何開(kāi)啟GD庫(kù)的支持啦。
php的圖像處理函數(shù)大概分為幾類:
1.基本信息函數(shù)
主要是圖像類型,圖像寬高,庫(kù)版本等最基本的函數(shù)。
2.圖像轉(zhuǎn)換函數(shù)
包含圖像格式之間的相互轉(zhuǎn)換函數(shù)
3.圖像創(chuàng)建和銷毀函數(shù)
包含圖像各種創(chuàng)建圖像的方式的函數(shù)還有銷毀圖像處理相關(guān)資源的函數(shù)
4.畫(huà)圖操作函數(shù)
包含畫(huà)圖相關(guān)函數(shù),如畫(huà)線,畫(huà)圓,畫(huà)方形等函數(shù)
5.圖像操作函數(shù)
對(duì)圖像進(jìn)行一些效果處理的函數(shù)
6.圖像設(shè)定函數(shù)
設(shè)置圖像的一些參數(shù),比如:畫(huà)線的寬度啊、圖像是否透明啊、是否真彩啊等等
7.圖像文字函數(shù)
在圖像上寫(xiě)字的一些函數(shù)
8.圖像輸出函數(shù)
圖像弄好了,總得輸出吧,這些函數(shù)就是用來(lái)輸出的,輸出到哪里?瀏覽器、文件等
開(kāi)篇就講這些啦,接下來(lái)的幾篇就分類講這些函數(shù)啦。
php圖像處理組件GD的常用函數(shù)總結(jié)――基本信息函數(shù)
基本信息函數(shù)主要有以下幾個(gè):
gd_info
當(dāng)前php環(huán)境GD庫(kù)的基本信息
imagetypes
支持的圖像類型
getimagesize
獲取一個(gè)圖像的大小
imagecolorat
取得圖像的某個(gè)像素的顏色索引值
imagesx
取得圖像寬度
imagesy
取得圖像高度
下面就具體來(lái)講述啦!
gd_info
取得當(dāng)前安裝的GD庫(kù)的信息,返回?cái)?shù)組
數(shù)組鍵含義:
GD Version
string 值。描述了安裝的 libgd 的版本。
Freetype Support
boolean 值。如果安裝了 Freetype 支持則為 TRUE。
Freetype Linkage
string 值。描述了 Freetype 連接的方法。取值可能為:'with freetype', 'with TTF library' 和 'with unknown library'。本單元僅在 Freetype Support 的值為 TRUE 時(shí)有定義。
T1Lib Support
boolean 值。如果包含有 T1Lib 支持則為 TRUE。
GIF Read Support
boolean 值。如果包含有讀取 GIF 圖像的支持則為 TRUE。
GIF Create Support
boolean 值。如果包含有創(chuàng)建 GIF 圖像的支持則為 TRUE。
JPG Support
boolean 值。如果包含有 JPG 支持則為 TRUE。
PNG Support
boolean 值。如果包含有 PNG 支持則為 TRUE。
WBMP Support
boolean 值。如果包含有 WBMP 支持則為 TRUE。
XBM Support
boolean 值。如果包含有 XBM 支持則為 TRUE。
如:
復(fù)制代碼 代碼如下:
<?php
var_dump(gd_info());
?>
輸出為:
復(fù)制代碼 代碼如下:
array(9) {
["GD Version"]=>
string(24) "bundled (2.0 compatible)"
["FreeType Support"]=>
bool(false)
["T1Lib Support"]=>
bool(false)
["GIF Read Support"]=>
bool(true)
["GIF Create Support"]=>
bool(false)
["JPG Support"]=>
bool(false)
["PNG Support"]=>
bool(true)
["WBMP Support"]=>
bool(true)
["XBM Support"]=>
bool(false)
}
imagetypes
返回當(dāng)前 php 版本所支持的圖像類型
原型:int imagetypes ( void )
本函數(shù)以比特字段方式返回與當(dāng)前 php 版本關(guān)聯(lián)的 GD 庫(kù)所支持的圖像格式。將返回以下結(jié)果,IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP| IMG_XPM。
如:檢查是否支持 PNG
復(fù)制代碼 代碼如下:
<?php
if (imagetypes() & IMG_PNG) {
echo "PNG Support is enabled";
}
?>
getimagesize
取得圖像大小
原型:array getimagesize ( string filename [, array &imageinfo] )
測(cè)定任何GD庫(kù)支持的圖像文件的大小并返回圖像的尺寸以及文件類型和一個(gè)可以用于普通 HTML 文件中 <IMG> 標(biāo)記中的 height/width 文本字符串。
如果不能訪問(wèn) filename 指定的圖像或者其不是有效的圖像,getimagesize() 將返回 FALSE 并產(chǎn)生一條 E_WARNING 級(jí)的錯(cuò)誤。
返回一個(gè)具有四個(gè)單元的數(shù)組。
索引 0 包含圖像寬度的像素值
索引 1 包含圖像高度的像素值
索引 2 是圖像類型的標(biāo)記
1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。
這些標(biāo)記與 php 4.3.0 新加的 IMAGETYPE 常量對(duì)應(yīng)。
索引 3 是文本字符串,內(nèi)容為“height="yyy" width="xxx"”,可直接用于 IMG 標(biāo)記。
imagecolorat
取得某像素的顏色索引值
原型:int imagecolorat ( resource image, int x, int y )
返回 image 所指定的圖形中指定位置像素的顏色索引值。
如果 php 編譯時(shí)加上了 GD 庫(kù) 2.0 或更高的版本并且圖像是真彩色圖像,則本函數(shù)以整數(shù)返回該點(diǎn)的 RGB 值。
如,用移位加掩碼來(lái)取得紅,綠,藍(lán)各自成分的值:
復(fù)制代碼 代碼如下:
<?php
$im = ImageCreateFromPng("rockym.png");
$rgb = ImageColorAt($im, 100, 100);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>
imagesx/imagesy
這兩個(gè)函數(shù)比較簡(jiǎn)單,取得圖像寬度/高度
原型如下:
int imagesx ( resource image )
int imagesy ( resource image )
返回 image 所代表的圖像的寬度/高度。
轉(zhuǎn)載自 http://www.sourcejoy.com/
php技術(shù):PHP GD 圖像處理組件的常用函數(shù)總結(jié),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。