本篇內(nèi)容主要講解“PHP中如何輸出圖片”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PHP中如何輸出圖片”吧!
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括天鎮(zhèn)網(wǎng)站建設(shè)、天鎮(zhèn)網(wǎng)站制作、天鎮(zhèn)網(wǎng)頁制作以及天鎮(zhèn)網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,天鎮(zhèn)網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到天鎮(zhèn)省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
圖像處理是PHP工作中常遇到的事情,我們遇到需要處理圖像的場景有很多,例如圖像驗證碼、圖片水印等等場景。其實學(xué)習(xí)圖像處理的重點實際是學(xué)習(xí)PHP中GD系統(tǒng)的函數(shù),PHP的圖像處理需要GD庫的支持,那接下來我們首先來看一下關(guān)于GD庫的相關(guān)知識吧。
GD庫
GD庫可以理解為一個用于創(chuàng)建圖形圖像的函數(shù)庫,GD庫實際是由C語言編寫的,可以用于PHP中,除了PHP外還可以在Perl等多種語言中使用,GD 庫中提供了很多用來處理圖片的接口,
PHP 中使用 GD 庫可以在頁面中繪制各種圖形圖像,統(tǒng)計圖,還有圖像驗證碼也可以使用GD庫來實現(xiàn)。
示例如下:
<?php phpinfo(); ?>
當(dāng)輸入之后,在輸出結(jié)果中,如果出現(xiàn)如下所示的兩個選項,則表示當(dāng)前的機(jī)器支持通過GD來處理圖像:
或者可以使用:
<?php print_r(gd_info()); ?>
輸入之后運(yùn)行,若輸出結(jié)果如下圖所示,也表示當(dāng)前機(jī)器支持通過GD來處理圖像。
那如果沒有安裝好的話,也可以通過在 Windows 系統(tǒng)下只需將 php.ini 配置文件中“extension=php_gd2.dll”一項前面的注釋刪除的方法完成。
在 PHP 中,通過 GD 庫處理圖像的操作一般分為 4 個基本步驟:
創(chuàng)建畫布
繪制圖像
輸出圖像
釋放資源
通過這四步我們就完成了對圖像的基本操作了,你接下來我們一起來看一下應(yīng)該怎么操作吧。
創(chuàng)建畫布
我們所有的繪圖和圖像處理都需要在一個背景圖片上面完成,也就是畫布,可以理解為為圖像我們在內(nèi)存中有一片臨時的區(qū)域作為畫布,用來儲存圖像的信息,以后的圖像操作都會在這片區(qū)域也就是畫布上進(jìn)行。
imagecreate()
和 imagecreatetruecolor()
用來創(chuàng)建畫布,它們的語法格式如下:
imagecreate(int $width, int $height) imagecreatetruecolor(int $width, int $height)
其中,$width 表示創(chuàng)建畫布的寬度也可以理解為圖像的寬度,$height 表示創(chuàng)建畫布的高度也就是圖像的高度
這兩個函數(shù)都可以用來創(chuàng)建畫布,不過其中不同的是,他們可以容納的色彩范圍不同。
示例如下:
<?php $img = @imagecreatetruecolor(120, 20) or die('畫布創(chuàng)建失?。?#39;); ?>
由于只是創(chuàng)建了一個畫布上面并沒有東西,瀏覽器也不會輸出畫布,但是可以通過 imagesx() 和 imagesy() 來獲取圖像的寬和高:
<?php $img = @imagecreatetruecolor(120, 20) or die('畫布創(chuàng)建失??!'); echo '畫布的寬度為:'.imagesx($img).'像素'; echo '<br>畫布的高度為:'.imagesy($img).'像素'; ?>
輸出結(jié)果:
由此我們便完成了創(chuàng)建一個畫布。
除了使用上面兩個函數(shù)創(chuàng)建畫布之外,還可以通過以下方式,通過文件或者url創(chuàng)建圖像:
imagecreatefromgif()
: 通過 GIF 文件或者 URL 新建一個圖像
imagecreatefromjpeg()
: 通過 JPEG 文件或者 UR 新建一個圖像
imagecreatefrompng()
: 通過 PNG 文件或者 UR L新建一個圖像
imagecreatefromwbmp()
: 通過 WBMP 文件或者URL,新建一個圖像
輸出圖片
上述示例中,我們已經(jīng)成功的創(chuàng)建了畫布,在PHP中不同格式的圖像也需要不同的函數(shù)來進(jìn)行輸出,不同的函數(shù)如下所示:
imagegif()
: 輸出一個GIF格式圖像到瀏覽器或文件
imagejpeg()
: 輸出一個JPEG格式圖像到瀏覽器或文件
imagepng()
:輸出一個PNG格式圖像到瀏覽器或文件
它們的語法格式如下:
imagegif(resource $image[, string $filename]) imagejpeg(resource $image[, string $filename[, int $quality]]) imagepng(resource $image[, string $filename])
其中,$image為創(chuàng)建的一個圖像資源;$filename表示為參數(shù),用來設(shè)置文件需要保存的路徑。
示例如下:
首先我在根目錄中已經(jīng)保存了一個名為php.png的圖像文件
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); ?>
輸出結(jié)果:
通過imagecreatefrompng()函數(shù)和imagepng()成功的輸出了一個格式為png的圖片。
釋放圖像資源
通過上述示例已經(jīng)成功的輸出了圖片,在圖片的資源使用完成后,通常需要釋放圖像處理時所占用的內(nèi)存,那應(yīng)該怎樣操作呢?
在PHP中我們通過imagedestroy() 函數(shù)來釋放圖像資源,語法格式如下:
imagedestroy(resource $image)
其中$image表示需要釋放資源的圖像
示例如下:
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); imagedestroy($image); ?>
因為釋放圖像資源的操作是沒有輸出內(nèi)容的,所以就不列出輸出結(jié)果了。
到此,相信大家對“PHP中如何輸出圖片”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)頁題目:PHP中如何輸出圖片
本文鏈接:http://aaarwkj.com/article18/jpohgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、云服務(wù)器、動態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)