亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    PHP中怎么輸出圖片?(圖例詳解)

    在之前的文章中給大家?guī)砹恕禤HP如何上傳文件?看完就明白了!》,其中詳細(xì)的給大家介紹了在PHP中應(yīng)該怎樣上傳文件,本篇文章來一起看一看PHP中圖像處理的相關(guān)知識(shí),希望對(duì)大家有幫助!

    PHP中怎么輸出圖片?(圖例詳解)

    圖像處理是PHP工作中常遇到的事情,我們遇到需要處理圖像的場(chǎng)景有很多,例如圖像驗(yàn)證碼、圖片水印等等場(chǎng)景。其實(shí)學(xué)習(xí)圖像處理的重點(diǎn)實(shí)際是學(xué)習(xí)PHP中GD系統(tǒng)的函數(shù),PHP的圖像處理需要GD庫的支持,那接下來我們首先來看一下關(guān)于GD庫的相關(guān)知識(shí)吧。

    GD庫

    GD庫可以理解為一個(gè)用于創(chuàng)建圖形圖像的函數(shù)庫,GD庫實(shí)際是由C語言編寫的,可以用于PHP中,除了PHP外還可以在Perl等多種語言中使用,GD 庫中提供了很多用來處理圖片的接口,

    PHP 中使用 GD 庫可以在頁面中繪制各種圖形圖像,統(tǒng)計(jì)圖,還有圖像驗(yàn)證碼也可以使用GD庫來實(shí)現(xiàn)。

    示例如下:

    <?php phpinfo(); ?>

    當(dāng)輸入之后,在輸出結(jié)果中,如果出現(xiàn)如下所示的兩個(gè)選項(xiàng),則表示當(dāng)前的機(jī)器支持通過GD來處理圖像:

    PHP中怎么輸出圖片?(圖例詳解)

    或者可以使用:

    <?php     print_r(gd_info()); ?>

    輸入之后運(yùn)行,若輸出結(jié)果如下圖所示,也表示當(dāng)前機(jī)器支持通過GD來處理圖像。

    PHP中怎么輸出圖片?(圖例詳解)

    那如果沒有安裝好的話,也可以通過在 Windows 系統(tǒng)下只需將 php.ini 配置文件中“extension=php_gd2.dll”一項(xiàng)前面的注釋刪除的方法完成。

    在 PHP 中,通過 GD 庫處理圖像的操作一般分為 4 個(gè)基本步驟:

    • 創(chuàng)建畫布

    • 繪制圖像

    • 輸出圖像

    • 釋放資源

    通過這四步我們就完成了對(duì)圖像的基本操作了,你接下來我們一起來看一下應(yīng)該怎么操作吧。

    創(chuàng)建畫布

    我們所有的繪圖和圖像處理都需要在一個(gè)背景圖片上面完成,也就是畫布,可以理解為為圖像我們?cè)趦?nèi)存中有一片臨時(shí)的區(qū)域作為畫布,用來儲(chǔ)存圖像的信息,以后的圖像操作都會(huì)在這片區(qū)域也就是畫布上進(jìn)行。

    imagecreate() imagecreatetruecolor() 用來創(chuàng)建畫布,它們的語法格式如下:

    imagecreate(int $width, int $height) imagecreatetruecolor(int $width, int $height)

    其中,$width 表示創(chuàng)建畫布的寬度也可以理解為圖像的寬度,$height 表示創(chuàng)建畫布的高度也就是圖像的高度

    這兩個(gè)函數(shù)都可以用來創(chuàng)建畫布,不過其中不同的是,他們可以容納的色彩范圍不同。

    示例如下:

    <?php     $img = @imagecreatetruecolor(120, 20) or die('畫布創(chuàng)建失敗!'); ?>

    由于只是創(chuàng)建了一個(gè)畫布上面并沒有東西,瀏覽器也不會(huì)輸出畫布,但是可以通過 imagesx() 和 imagesy() 來獲取圖像的寬和高:

    <?php     $img = @imagecreatetruecolor(120, 20) or die('畫布創(chuàng)建失??!');     echo '畫布的寬度為:'.imagesx($img).'像素';     echo '<br>畫布的高度為:'.imagesy($img).'像素'; ?>

    輸出結(jié)果:

    PHP中怎么輸出圖片?(圖例詳解)

    由此我們便完成了創(chuàng)建一個(gè)畫布。

    除了使用上面兩個(gè)函數(shù)創(chuàng)建畫布之外,還可以通過以下方式,通過文件或者url創(chuàng)建圖像:

    • imagecreatefromgif() : 通過 GIF 文件或者 URL 新建一個(gè)圖像

    • imagecreatefromjpeg() : 通過 JPEG 文件或者 UR 新建一個(gè)圖像

    • imagecreatefrompng() : 通過 PNG 文件或者 UR L新建一個(gè)圖像

    • imagecreatefromwbmp() : 通過 WBMP 文件或者URL,新建一個(gè)圖像

    輸出圖片

    上述示例中,我們已經(jīng)成功的創(chuàng)建了畫布,在PHP中不同格式的圖像也需要不同的函數(shù)來進(jìn)行輸出,不同的函數(shù)如下所示:

    • imagegif() : 輸出一個(gè)GIF格式圖像到瀏覽器或文件

    • imagejpeg() : 輸出一個(gè)JPEG格式圖像到瀏覽器或文件

    • imagepng() :輸出一個(gè)PNG格式圖像到瀏覽器或文件

    它們的語法格式如下:

    imagegif(resource $image[, string $filename]) imagejpeg(resource $image[, string $filename[, int $quality]]) imagepng(resource $image[, string $filename])

    其中,$image為創(chuàng)建的一個(gè)圖像資源;$filename表示為參數(shù),用來設(shè)置文件需要保存的路徑。

    示例如下:

    首先我在根目錄中已經(jīng)保存了一個(gè)名為php.png的圖像文件

    <?php     header('Content-type:image/jpeg');     $image= imagecreatefrompng('php.png');     imagepng($image); ?>

    輸出結(jié)果:

    PHP中怎么輸出圖片?(圖例詳解)

    通過imagecreatefrompng()函數(shù)和imagepng()成功的輸出了一個(gè)格式為png的圖片。

    釋放圖像資源

    通過上述示例已經(jīng)成功的輸出了圖片,在圖片的資源使用完成后,通常需要釋放圖像處理時(shí)所占用的內(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); ?>

    因?yàn)獒尫艌D像資源的操作是沒有輸出內(nèi)容的,所以就不列出輸出結(jié)果了。

    推薦學(xué)習(xí):《PHP視頻教程》

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)