利用PHP GD库生成位图
生活随笔
收集整理的這篇文章主要介紹了
利用PHP GD库生成位图
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
關(guān)于PHP在apache中的安裝配置請(qǐng)參考 Apache 配置CGI腳本操作數(shù)據(jù)庫(kù)
位圖
位圖圖像(bitmap), 亦稱為點(diǎn)陣圖像或繪制圖像,是由稱作像素(圖片元素)的單個(gè)點(diǎn)組成的。這些點(diǎn)可以進(jìn)行不同的排列和染色以構(gòu)成圖樣。當(dāng)放大位圖時(shí),可以看見賴以構(gòu)成整個(gè)圖像的無(wú)數(shù)單個(gè)方塊。擴(kuò)大位圖尺寸的效果是增大單個(gè)像素,從而使線條和形狀顯得參差不齊。然而,如果從稍遠(yuǎn)的位置觀看它,位圖圖像的顏色和形狀又顯得是連續(xù)的。PHP與GD
PHP is not limited to creating just HTML output. It can also be used to create and manipulate image files in a variety of different image formats, including GIF, PNG, JPEG, WBMP, and XPM. Even more conveniently, PHP can output image streams directly to a browser. You will need to compile PHP with the GD library of image functions for this to work. GD and PHP may also require other libraries, depending on which image formats you want to work with. 此段意思是說PHP不只限于HTML輸出,也可以在借助于GD庫(kù)擴(kuò)展的情況下創(chuàng)建和處理多種格式的圖片并且將它們輸出到瀏覽器中。在網(wǎng)站上GD庫(kù)通常用來生成縮略圖,或者用來對(duì)圖片加水印,或者用來生成漢字驗(yàn)證碼,或者對(duì)網(wǎng)站數(shù)據(jù)生成報(bào)表等。在PHP處理圖像,可使用GD庫(kù),而GD庫(kù)開始時(shí)是支持GIF的,但由于GIF使用了有版權(quán)爭(zhēng)議的LZW算法,會(huì)引起法律問題,于是從 GD 庫(kù) 1.6 版起所有的 GIF 支持都移除了,但是又在 GD 庫(kù) 2.0.28 版起又加了回來。如果使用二者之間版本的 GD 庫(kù)時(shí) GIF 相關(guān)函數(shù)不可用。GD supports a varity of formats, below is a list of formats supported by GD and notes to their availability including read/write support.
一般情況下在安裝了php之后系統(tǒng)不會(huì)默認(rèn)安裝PHP GD庫(kù),所以我們需要執(zhí)行以下命令來安裝GD庫(kù)
安裝完成之后我們就可以使用GD庫(kù)來生成位圖了,好吧,先上程序:
[root@lockey html]# cat weitu.php <?php // Requires the GD Library header("Content-type: image/png"); $im = imagecreatetruecolor(512, 512)or die("Cannot Initialize new GD image stream"); $white = imagecolorallocate($im, 255, 255, 255); for ($y = 0; $y < 512; $y++) {for ($x = 0; $x < 512; $x++) {if (rand(0, 1)) {imagesetpixel($im, $x, $y, $white);}} } imagepng($im); imagedestroy($im); ?> [root@lockey html]#運(yùn)行結(jié)果如下:
拓展一點(diǎn):
在 Windows 中,需要將 GD2 的 DLL 文件 php_gd2.dll 作為一個(gè)擴(kuò)展包含在 php.ini 中。GD1 的 DLL 文件 php_gd.dll 在 PHP 4.3.2 中被刪除了。此外要注意首選的真彩色圖像函數(shù),例如 imagecreatetruecolor(),需要 GD2。
GD和圖像處理函數(shù):
gd_info — 取得當(dāng)前安裝的 GD 庫(kù)的信息 getimagesize — 取得圖像大小 getimagesizefromstring — 從字符串中獲取圖像尺寸信息 image_type_to_extension — 取得圖像類型的文件后綴 image_type_to_mime_type — 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的圖像類型的 MIME 類型 image2wbmp — 以 WBMP 格式將圖像輸出到瀏覽器或文件 imageaffine — 返回經(jīng)過仿射變換后的圖像,剪切區(qū)域可選 imageaffinematrixconcat — Concatenate two affine transformation matrices imageaffinematrixget — Get an affine transformation matrix imagealphablending — 設(shè)定圖像的混色模式 imageantialias — 是否使用抗鋸齒(antialias)功能 imagearc — 畫橢圓弧 imagebmp — Output a BMP image to browser or file imagechar — 水平地畫一個(gè)字符 imagecharup — 垂直地畫一個(gè)字符 imagecolorallocate — 為一幅圖像分配顏色 imagecolorallocatealpha — 為一幅圖像分配顏色 + alpha imagecolorat — 取得某像素的顏色索引值 imagecolorclosest — 取得與指定的顏色最接近的顏色的索引值 imagecolorclosestalpha — 取得與指定的顏色加透明度最接近的顏色 imagecolorclosesthwb — 取得與給定顏色最接近的色度的黑白色的索引 imagecolordeallocate — 取消圖像顏色的分配 imagecolorexact — 取得指定顏色的索引值 imagecolorexactalpha — 取得指定的顏色加透明度的索引值 imagecolormatch — 使一個(gè)圖像中調(diào)色板版本的顏色與真彩色版本更能匹配 imagecolorresolve — 取得指定顏色的索引值或有可能得到的最接近的替代值 imagecolorresolvealpha — 取得指定顏色 + alpha 的索引值或有可能得到的最接近的替代值 imagecolorset — 給指定調(diào)色板索引設(shè)定顏色 imagecolorsforindex — 取得某索引的顏色 imagecolorstotal — 取得一幅圖像的調(diào)色板中顏色的數(shù)目 imagecolortransparent — 將某個(gè)顏色定義為透明色 imageconvolution — 用系數(shù) div 和 offset 申請(qǐng)一個(gè) 3x3 的卷積矩陣 imagecopy — 拷貝圖像的一部分 imagecopymerge — 拷貝并合并圖像的一部分 imagecopymergegray — 用灰度拷貝并合并圖像的一部分 imagecopyresampled — 重采樣拷貝部分圖像并調(diào)整大小 imagecopyresized — 拷貝部分圖像并調(diào)整大小 imagecreate — 新建一個(gè)基于調(diào)色板的圖像 imagecreatefrombmp — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatefromgd2 — 從 GD2 文件或 URL 新建一圖像 imagecreatefromgd2part — 從給定的 GD2 文件或 URL 中的部分新建一圖像 imagecreatefromgd — 從 GD 文件或 URL 新建一圖像 imagecreatefromgif — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatefromjpeg — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatefrompng — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatefromstring — 從字符串中的圖像流新建一圖像 imagecreatefromwbmp — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatefromwebp — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatefromxbm — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatefromxpm — 由文件或 URL 創(chuàng)建一個(gè)新圖象。 imagecreatetruecolor — 新建一個(gè)真彩色圖像 imagecrop — Crop an image to the given rectangle imagecropauto — Crop an image automatically using one of the available modes imagedashedline — 畫一虛線 imagedestroy — 銷毀一圖像 imageellipse — 畫一個(gè)橢圓 imagefill — 區(qū)域填充 imagefilledarc — 畫一橢圓弧且填充 imagefilledellipse — 畫一橢圓并填充 imagefilledpolygon — 畫一多邊形并填充 imagefilledrectangle — 畫一矩形并填充 imagefilltoborder — 區(qū)域填充到指定顏色的邊界為止 imagefilter — 對(duì)圖像使用過濾器 imageflip — Flips an image using a given mode imagefontheight — 取得字體高度 imagefontwidth — 取得字體寬度 imageftbbox — 給出一個(gè)使用 FreeType 2 字體的文本框 imagefttext — 使用 FreeType 2 字體將文本寫入圖像 imagegammacorrect — 對(duì) GD 圖像應(yīng)用 gamma 修正 imagegd2 — 將 GD2 圖像輸出到瀏覽器或文件 imagegd — 將 GD 圖像輸出到瀏覽器或文件 imagegetclip — Get the clipping rectangle imagegif — 輸出圖象到瀏覽器或文件。 imagegrabscreen — Captures the whole screen imagegrabwindow — Captures a window imageinterlace — 激活或禁止隔行掃描 imageistruecolor — 檢查圖像是否為真彩色圖像 imagejpeg — 輸出圖象到瀏覽器或文件。 imagelayereffect — 設(shè)定 alpha 混色標(biāo)志以使用綁定的 libgd 分層效果 imageline — 畫一條線段 imageloadfont — 載入一新字體 imageopenpolygon — Draws an open polygon imagepalettecopy — 將調(diào)色板從一幅圖像拷貝到另一幅 imagepalettetotruecolor — Converts a palette based image to true color imagepng — 以 PNG 格式將圖像輸出到瀏覽器或文件 imagepolygon — 畫一個(gè)多邊形 imagepsbbox — 給出一個(gè)使用 PostScript Type1 字體的文本方框 imagepsencodefont — 改變字體中的字符編碼矢量 imagepsextendfont — 擴(kuò)充或精簡(jiǎn)字體 imagepsfreefont — 釋放一個(gè) PostScript Type 1 字體所占用的內(nèi)存 imagepsloadfont — 從文件中加載一個(gè) PostScript Type 1 字體 imagepsslantfont — 傾斜某字體 imagepstext — 用 PostScript Type1 字體把文本字符串畫在圖像上 imagerectangle — 畫一個(gè)矩形 imageresolution — Get or set the resolution of the image imagerotate — 用給定角度旋轉(zhuǎn)圖像 imagesavealpha — 設(shè)置標(biāo)記以在保存 PNG 圖像時(shí)保存完整的 alpha 通道信息(與單一透明色相反) imagescale — Scale an image using the given new width and height imagesetbrush — 設(shè)定畫線用的畫筆圖像 imagesetclip — Set the clipping rectangle imagesetinterpolation — Set the interpolation method imagesetpixel — 畫一個(gè)單一像素 imagesetstyle — 設(shè)定畫線的風(fēng)格 imagesetthickness — 設(shè)定畫線的寬度 imagesettile — 設(shè)定用于填充的貼圖 imagestring — 水平地畫一行字符串 imagestringup — 垂直地畫一行字符串 imagesx — 取得圖像寬度 imagesy — 取得圖像高度 imagetruecolortopalette — 將真彩色圖像轉(zhuǎn)換為調(diào)色板圖像 imagettfbbox — 取得使用 TrueType 字體的文本的范圍 imagettftext — 用 TrueType 字體向圖像寫入文本 imagetypes — 返回當(dāng)前 PHP 版本所支持的圖像類型 imagewbmp — 以 WBMP 格式將圖像輸出到瀏覽器或文件 imagewebp — 將 WebP 格式的圖像輸出到瀏覽器或文件 imagexbm — 將 XBM 圖像輸出到瀏覽器或文件 iptcembed — 將二進(jìn)制 IPTC 數(shù)據(jù)嵌入到一幅 JPEG 圖像中 iptcparse — 將二進(jìn)制 IPTC 塊解析為單個(gè)標(biāo)記 jpeg2wbmp — 將 JPEG 圖像文件轉(zhuǎn)換為 WBMP 圖像文件 png2wbmp — 將 PNG 圖像文件轉(zhuǎn)換為 WBMP 圖像文件總結(jié)
以上是生活随笔為你收集整理的利用PHP GD库生成位图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NUGET源不存在,安装Nuget包提示
- 下一篇: Ubuntu Desktop - Ter