PHP圖像處理組件GD的常用函數總結——概述
PHP有一系列很強大的圖形處理函數,他們都統一包含在GD庫中,這些函數已經基本滿足了一個網絡應用的常規圖像處理要求,而且使用十分簡單。
而我們有好多搞PHP的朋友(包括我)都認為這些函數反正不是很常用,都懶的去研究或者了解這些函數了,而當要面臨圖像處理方面的事情的時候,又很茫然,書道用時方恨少啊!
本系列這幾篇文章就是給大家歸納一下PHP的圖像處理函數,不要求掌握,只希望能讓各位對這些函數有個大體印象,最起碼,有圖像處理方面的討論或者問題的時候,心裡能想起這些函數,這樣大家在想解決方案的時候就能做到胸有成竹啦!廢話有點多!
本篇是開篇,所以先將一下和這些函數相關的GD庫,還有函數的分類,之後的文章將根據分類,來具體說。
PHP函數都是在GD庫中的,要想使用GD庫,PHP要開啟GD庫支持,由於考慮本系列文章面對的不是菜鳥所以,就不講如何開啟GD庫的支持啦。
PHP的圖像處理函數大概分為幾類:
1.基本信息函數
主要是圖像類型,圖像寬高,庫版本等最基本的函數。
2.圖像轉換函數
包含圖像格式之間的相互轉換函數
3.圖像創建和銷毀函數
包含圖像各種創建圖像的方式的函數還有銷毀圖像處理相關資源的函數
4.畫圖操作函數
包含畫圖相關函數,如畫線,畫圓,畫方形等函數
5.圖像操作函數
對圖像進行一些效果處理的函數
6.圖像設定函數
設置圖像的一些參數,比如:畫線的寬度啊、圖像是否透明啊、是否真彩啊等等
7.圖像文字函數
在圖像上寫字的一些函數
8.圖像輸出函數
圖像弄好了,總得輸出吧,這些函數就是用來輸出的,輸出到哪裡?浏覽器、文件等
開篇就講這些啦,接下來的幾篇就分類講這些函數啦。
PHP圖像處理組件GD的常用函數總結——基本信息函數
基本信息函數主要有以下幾個:
gd_info
當前PHP環境GD庫的基本信息
imagetypes
支持的圖像類型
getimagesize
獲取一個圖像的大小
imagecolorat
取得圖像的某個像素的顏色索引值
imagesx
取得圖像寬度
imagesy
取得圖像高度
下面就具體來講述啦!
gd_info
取得當前安裝的GD庫的信息,返回數組
數組鍵含義:
GD Version
string 值。描述了安裝的 libgd 的版本。
Freetype Support
boolean 值。如果安裝了 Freetype 支持則為 TRUE。
Freetype Linkage
string 值。描述了 Freetype 連接的方法。取值可能為:'with freetype', 'with TTF library' 和 'with unknown library'。本單元僅在 Freetype Support 的值為 TRUE 時有定義。
T1Lib Support
boolean 值。如果包含有 T1Lib 支持則為 TRUE。
GIF Read Support
boolean 值。如果包含有讀取 GIF 圖像的支持則為 TRUE。
GIF Create Support
boolean 值。如果包含有創建 GIF 圖像的支持則為 TRUE。
JPG Support
boolean 值。如果包含有 JPG 支持則為 TRUE。
PNG Support
boolean 值。如果包含有 PNG 支持則為 TRUE。
WBMP Support
boolean 值。如果包含有 WBMP 支持則為 TRUE。
XBM Support
boolean 值。如果包含有 XBM 支持則為 TRUE。
如:
復制代碼 代碼如下:
<?php
var_dump(gd_info());
?>
輸出為:
復制代碼 代碼如下:
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
返回當前 PHP 版本所支持的圖像類型
原型:int imagetypes ( void )
本函數以比特字段方式返回與當前 PHP 版本關聯的 GD 庫所支持的圖像格式。將返回以下結果,IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP| IMG_XPM。
如:檢查是否支持 PNG
復制代碼 代碼如下:
<?php
if (imagetypes() & IMG_PNG) {
echo "PNG Support is enabled";
}
?>
getimagesize
取得圖像大小
原型:array getimagesize ( string filename [, array &imageinfo] )
測定任何GD庫支持的圖像文件的大小並返回圖像的尺寸以及文件類型和一個可以用於普通 HTML 文件中 <IMG> 標記中的 height/width 文本字符串。
如果不能訪問 filename 指定的圖像或者其不是有效的圖像,getimagesize() 將返回 FALSE 並產生一條 E_WARNING 級的錯誤。
返回一個具有四個單元的數組。
索引 0 包含圖像寬度的像素值
索引 1 包含圖像高度的像素值
索引 2 是圖像類型的標記
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。
這些標記與 PHP 4.3.0 新加的 IMAGETYPE 常量對應。
索引 3 是文本字符串,內容為“height="yyy" width="xxx"”,可直接用於 IMG 標記。
imagecolorat
取得某像素的顏色索引值
原型:int imagecolorat ( resource image, int x, int y )
返回 image 所指定的圖形中指定位置像素的顏色索引值。
如果 PHP 編譯時加上了 GD 庫 2.0 或更高的版本並且圖像是真彩色圖像,則本函數以整數返回該點的 RGB 值。
如,用移位加掩碼來取得紅,綠,藍各自成分的值:
復制代碼 代碼如下:
<?php
$im = ImageCreateFromPng("rockym.png");
$rgb = ImageColorAt($im, 100, 100);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>
imagesx/imagesy
這兩個函數比較簡單,取得圖像寬度/高度
原型如下:
int imagesx ( resource image )
int imagesy ( resource image )
返回 image 所代表的圖像的寬度/高度。
轉載自 http://www.sourcejoy.com/