欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP GD 圖像處理組件的常用函數(shù)總結(jié)

 更新時(shí)間:2010年04月28日 20:41:26   作者:  
如今,在互聯(lián)網(wǎng)上,很多網(wǎng)站都要處理大量圖片,比如:頭像、上傳的圖片做縮略圖加水印等等。他們需要服務(wù)端的大量圖片處理,一門好的服務(wù)端語言環(huán)境一定要有對圖像處理的支持。
PHP圖像處理組件GD的常用函數(shù)總結(jié)——概述
PHP有一系列很強(qiáng)大的圖形處理函數(shù),他們都統(tǒng)一包含在GD庫中,這些函數(shù)已經(jīng)基本滿足了一個(gè)網(wǎng)絡(luò)應(yīng)用的常規(guī)圖像處理要求,而且使用十分簡單。
而我們有好多搞PHP的朋友(包括我)都認(rèn)為這些函數(shù)反正不是很常用,都懶的去研究或者了解這些函數(shù)了,而當(dāng)要面臨圖像處理方面的事情的時(shí)候,又很茫然,書道用時(shí)方恨少啊!
本系列這幾篇文章就是給大家歸納一下PHP的圖像處理函數(shù),不要求掌握,只希望能讓各位對這些函數(shù)有個(gè)大體印象,最起碼,有圖像處理方面的討論或者問題的時(shí)候,心里能想起這些函數(shù),這樣大家在想解決方案的時(shí)候就能做到胸有成竹啦!廢話有點(diǎn)多!
本篇是開篇,所以先將一下和這些函數(shù)相關(guān)的GD庫,還有函數(shù)的分類,之后的文章將根據(jù)分類,來具體說。

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

PHP的圖像處理函數(shù)大概分為幾類:
1.基本信息函數(shù)
主要是圖像類型,圖像寬高,庫版本等最基本的函數(shù)。
2.圖像轉(zhuǎn)換函數(shù)
包含圖像格式之間的相互轉(zhuǎn)換函數(shù)
3.圖像創(chuàng)建和銷毀函數(shù)
包含圖像各種創(chuàng)建圖像的方式的函數(shù)還有銷毀圖像處理相關(guān)資源的函數(shù)
4.畫圖操作函數(shù)
包含畫圖相關(guān)函數(shù),如畫線,畫圓,畫方形等函數(shù)
5.圖像操作函數(shù)
對圖像進(jìn)行一些效果處理的函數(shù)
6.圖像設(shè)定函數(shù)
設(shè)置圖像的一些參數(shù),比如:畫線的寬度啊、圖像是否透明啊、是否真彩啊等等
7.圖像文字函數(shù)
在圖像上寫字的一些函數(shù)
8.圖像輸出函數(shù)
圖像弄好了,總得輸出吧,這些函數(shù)就是用來輸出的,輸出到哪里?瀏覽器、文件等

開篇就講這些啦,接下來的幾篇就分類講這些函數(shù)啦。

PHP圖像處理組件GD的常用函數(shù)總結(jié)——基本信息函數(shù)
基本信息函數(shù)主要有以下幾個(gè):
gd_info
當(dāng)前PHP環(huán)境GD庫的基本信息
imagetypes
支持的圖像類型
getimagesize
獲取一個(gè)圖像的大小
imagecolorat
取得圖像的某個(gè)像素的顏色索引值
imagesx
取得圖像寬度
imagesy
取得圖像高度

下面就具體來講述啦!

gd_info
取得當(dāng)前安裝的GD庫的信息,返回?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 庫所支持的圖像格式。將返回以下結(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] )

測定任何GD庫支持的圖像文件的大小并返回圖像的尺寸以及文件類型和一個(gè)可以用于普通 HTML 文件中 <IMG> 標(biāo)記中的 height/width 文本字符串。

如果不能訪問 filename 指定的圖像或者其不是有效的圖像,getimagesize() 將返回 FALSE 并產(chǎn)生一條 E_WARNING 級的錯(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 常量對應(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 庫 2.0 或更高的版本并且圖像是真彩色圖像,則本函數(shù)以整數(shù)返回該點(diǎn)的 RGB 值。

如,用移位加掩碼來取得紅,綠,藍(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ù)比較簡單,取得圖像寬度/高度
原型如下:
int imagesx ( resource image )
int imagesy ( resource image )

返回 image 所代表的圖像的寬度/高度。

轉(zhuǎn)載自 http://www.sourcejoy.com/

相關(guān)文章

  • 試用php中oci8擴(kuò)展

    試用php中oci8擴(kuò)展

    這里如何給php開啟oci8的擴(kuò)展就不講了,小伙伴們自行度娘吧,這里僅僅給大家分享下php操作Oracle的類,有需要的小伙伴可以參考下。
    2015-06-06
  • PHP入門教程之PHP操作MySQL的方法分析

    PHP入門教程之PHP操作MySQL的方法分析

    這篇文章主要介紹了PHP操作MySQL的方法,結(jié)合實(shí)例形式分析了php針對mysql數(shù)據(jù)庫的基本連接、查詢、修改、更新及刪除等常見技巧,并附帶了Zend開發(fā)環(huán)境的編碼設(shè)置方法說明,需要的朋友可以參考下
    2016-09-09
  • PHP封裝的驗(yàn)證碼工具類定義與用法示例

    PHP封裝的驗(yàn)證碼工具類定義與用法示例

    這篇文章主要介紹了PHP封裝的驗(yàn)證碼工具類定義與用法,結(jié)合完整實(shí)例形式詳細(xì)分析了php封裝的驗(yàn)證碼工具類相關(guān)圖片創(chuàng)建、隨機(jī)字符串、驗(yàn)證碼驗(yàn)證等功能定義與使用技巧,需要的朋友可以參考下
    2018-08-08
  • PHP中include()與require()的區(qū)別說明

    PHP中include()與require()的區(qū)別說明

    引用文件的方法有兩種:require 及 include。兩種方式提供不同的使用彈性。
    2010-03-03
  • 兩款萬能的php分頁類

    兩款萬能的php分頁類

    這篇文章主要介紹了萬能的php分頁類,特別好用,需要使用php分頁類的朋友不要錯(cuò)過。
    2015-11-11
  • 將一維或多維的數(shù)組連接成一個(gè)字符串的php代碼

    將一維或多維的數(shù)組連接成一個(gè)字符串的php代碼

    自定義一個(gè)函數(shù) ,把一個(gè)數(shù)組變成用,(逗號)連接起來的字符串 (注意:應(yīng)考慮到多維數(shù)組的情況,并以返回值的形式返回)
    2010-08-08
  • 解決PHP在DOS命令行下卻無法鏈接MySQL的技術(shù)筆記

    解決PHP在DOS命令行下卻無法鏈接MySQL的技術(shù)筆記

    前段時(shí)間,由于要用 php 進(jìn)行 Shell 編程時(shí),碰到了 PHP 在 WEB 下可以連接 MySQL 而在 DOS COMMAND 命令行下卻連接失敗的問題。
    2010-12-12
  • PHP獲取服務(wù)器端信息的方法

    PHP獲取服務(wù)器端信息的方法

    這篇文章主要介紹了PHP獲取服務(wù)器端信息的方法,通過一個(gè)自定義函數(shù)實(shí)現(xiàn)對服務(wù)器端系統(tǒng)版本、PHP版本、Apache版本等信息的獲取,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • phpstorm配置Xdebug進(jìn)行調(diào)試PHP教程

    phpstorm配置Xdebug進(jìn)行調(diào)試PHP教程

    這篇文章主要介紹了使用phpstorm+Xdebug 調(diào)試PHP教程,需要的朋友可以參考下
    2014-12-12
  • php在服務(wù)器執(zhí)行exec命令失敗的解決方法

    php在服務(wù)器執(zhí)行exec命令失敗的解決方法

    出于安全的原因,服務(wù)器是不允許php或者其他語言執(zhí)行exec命令的,當(dāng)你有特殊需要php在服務(wù)器執(zhí)行exec命令時(shí),你需要設(shè)置兩個(gè)地方,不然就無法執(zhí)行成功
    2012-03-03

最新評論