中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中如何輸出圖片

發布時間:2021-10-19 16:05:03 來源:億速云 閱讀:401 作者:iii 欄目:編程語言

本篇內容主要講解“PHP中如何輸出圖片”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“PHP中如何輸出圖片”吧!

PHP中如何輸出圖片

圖像處理是PHP工作中常遇到的事情,我們遇到需要處理圖像的場景有很多,例如圖像驗證碼、圖片水印等等場景。其實學習圖像處理的重點實際是學習PHP中GD系統的函數,PHP的圖像處理需要GD庫的支持,那接下來我們首先來看一下關于GD庫的相關知識吧。

GD庫

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

PHP 中使用 GD 庫可以在頁面中繪制各種圖形圖像,統計圖,還有圖像驗證碼也可以使用GD庫來實現。

示例如下:

<?php
phpinfo();
?>

當輸入之后,在輸出結果中,如果出現如下所示的兩個選項,則表示當前的機器支持通過GD來處理圖像:

PHP中如何輸出圖片

或者可以使用:

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

輸入之后運行,若輸出結果如下圖所示,也表示當前機器支持通過GD來處理圖像。

PHP中如何輸出圖片

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

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

  • 創建畫布

  • 繪制圖像

  • 輸出圖像

  • 釋放資源

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

創建畫布

我們所有的繪圖和圖像處理都需要在一個背景圖片上面完成,也就是畫布,可以理解為為圖像我們在內存中有一片臨時的區域作為畫布,用來儲存圖像的信息,以后的圖像操作都會在這片區域也就是畫布上進行。

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

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

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

這兩個函數都可以用來創建畫布,不過其中不同的是,他們可以容納的色彩范圍不同。

示例如下:

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

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

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

輸出結果:

PHP中如何輸出圖片

由此我們便完成了創建一個畫布。

除了使用上面兩個函數創建畫布之外,還可以通過以下方式,通過文件或者url創建圖像:

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

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

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

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

輸出圖片

上述示例中,我們已經成功的創建了畫布,在PHP中不同格式的圖像也需要不同的函數來進行輸出,不同的函數如下所示:

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

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

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

它們的語法格式如下:

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

其中,$image為創建的一個圖像資源;$filename表示為參數,用來設置文件需要保存的路徑。

示例如下:

首先我在根目錄中已經保存了一個名為php.png的圖像文件

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

輸出結果:

PHP中如何輸出圖片

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

釋放圖像資源

通過上述示例已經成功的輸出了圖片,在圖片的資源使用完成后,通常需要釋放圖像處理時所占用的內存,那應該怎樣操作呢?

在PHP中我們通過imagedestroy() 函數來釋放圖像資源,語法格式如下:

imagedestroy(resource $image)

其中$image表示需要釋放資源的圖像

示例如下:

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

因為釋放圖像資源的操作是沒有輸出內容的,所以就不列出輸出結果了。

到此,相信大家對“PHP中如何輸出圖片”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

株洲市| 南雄市| 海淀区| 青岛市| 雅江县| 措美县| 南阳市| 响水县| 塘沽区| 兴仁县| 长兴县| 车险| 罗定市| 鹰潭市| 奇台县| 高州市| 闻喜县| 台前县| 门头沟区| 贵溪市| 富源县| 桓仁| 绥中县| 莒南县| 噶尔县| 嘉黎县| 大兴区| 五家渠市| 中超| 手机| 三穗县| 永平县| 丰原市| 江达县| 沾益县| 衡南县| 信丰县| 巍山| 纳雍县| 长兴县| 寻甸|