首頁  >  文章  >  後端開發  >  PHP GD 影像處理元件常用的函數總結

PHP GD 影像處理元件常用的函數總結

高洛峰
高洛峰原創
2016-12-26 12:55:391667瀏覽

PHP影像處理元件GD的常用函數總結-概述 
PHP有一系列很強大的圖形處理函數,他們都統一包含在GD庫中,這些函數已經基本滿足了一個網路應用的常規影像處理要求,而且使用十分簡單。
而我們有很多搞PHP的朋友(包括我)都認為這些函數反正不是很常用,都懶的去研究或者了解這些函數了,而當要面臨圖像處理方面的事情的時候,又很茫然,書道用時方恨少啊!
本系列這幾篇文章就是給大家歸納一下PHP的圖像處理函數,不要求掌握,只希望能讓各位對這些函數有個大體印象,最起碼,有圖像處理方面的討論或者問題的時候,心裡能想起這些函數,這樣大家在想解決方案的時候就能做到胸有成竹啦!廢話有點多! 
本篇是開篇,所以先將一下和這些函數相關的GD庫,還有函數的分類,之後的文章將根據分類,來具體說。 

PHP函數都是在GD庫中的,要想使用GD庫,PHP要開啟GD庫支持,由於考慮本系列文章面對的不是菜鳥所以,就不講如何開啟GD庫的支持啦。 

PHP的影像處理函數大概分為幾類: 
1.基本資訊函數 
主要是影像類型,影像寬高,且庫版本等最基本的函數。
2.圖像轉換函數 
包含圖像格式之間的相互轉換函數 
3.圖像創建和銷毀函數 
包含圖像各種創建圖像的方式的函數還有銷毀圖像處理相關資源的函數 
4.畫圖操作函數
包含畫圖相關函數,如畫線,畫圓,畫方形等函數 
5.圖像操作函數 
對圖像進行一些效果處理的函數 
6.圖像設定函數 
設定圖像的一些參數,例如:畫線的寬度輸出的,輸出到哪裡?瀏覽器、檔案等 

開頭就講這些啦,接下來的幾篇就分類講這些函數啦。

PHP影像處理元件GD的常用函數摘要-基本資訊函數
基本資訊函數主要有以下: 
gd_info 
目前PHP環境GD庫的基本資訊 
imagetypes 的大小 
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 1所支援的圖像格式。將傳回以下結果,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 文件中 873c4d80998f5627c84fe017b9b46671 标记中的 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; 
?>

这两个函数比较简单,取得图像宽度/高度 
原型如下: 
int imagesx ( resource image ) 
int imagesy ( resource image ) 

返回 image 所代表的图像的宽度/高度。 

更多PHP GD 图像处理组件的常用函数总结相关文章请关注PHP中文网!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn