GD圖像處理

GD庫引入與介紹

1)GD庫的概念:Graphic Device,圖像處理擴展(外部提供的API),能夠允許PHP在腳本中使用對應的函數(shù)來實現(xiàn)某些圖像制作功能。

2)GD庫的引入:已經(jīng)被集成到PHP擴展庫中,不需要下載,但是需要PHP在配置文件中開啟對應的擴展。GD擴展(GD2)

原來就開著,如果沒開就要重啟apache

GD圖像處理基本技術

畫圖流程:畫圖本質是在內存開辟一塊很大的內存區(qū)域用于圖片制作

1、準備畫布

2、開始作畫

3、保存內容

4、銷毀畫布

創(chuàng)建畫布資源

1)ImageCreate(寬,高):創(chuàng)建一個空白畫布(背景色是白色的)

2)ImageCreateTrueColor(寬,高):創(chuàng)建一個真彩畫布(背景是黑色的,需要填充)

3)ImageCreatefromJpeg(圖片文件路徑):打開一個jpeg格式的圖片資源

4)ImageCreatefromGif(圖片文件路徑):打開一個gif(PHP中無法實現(xiàn)動態(tài))

5)ImageCreatefromPng(圖片文件路徑):打開一個png

操作畫布資源

說明:所有的畫布資源操作都是需要指定畫布資源,而且都是第一個參數(shù)

1)分配顏色:imagecolorallocate(畫布資源,紅色,綠色,藍色),根據(jù)RGB三色組給指定畫布分配一組顏色,會返回一個顏色句柄(一組整數(shù)),每一個色組都是0-255.

在真彩圖片資源中,所有分配的顏色都不回自動給圖片資源上色,是用來后續(xù)圖片資源的時候,指定著色的:但是如果當前使用的imagecreate創(chuàng)建的圖片資源,那么第一個分配的顏色,會自動被著色為圖片背景色。

注意:凡是給圖片上增加內容,基本都需要分配顏色(每一個操作圖片的函數(shù)之前,都需要先調用分配顏色的函數(shù)得到一個顏色)

2)填充區(qū)域:imagefill(畫布資源,起始x坐標,起始y坐標,顏色句柄):指定位置開始填充指定顏色(y是從上往下)

imagefill填充邏輯:從指定點開始,自動匹配相鄰點(就是墨水瓶)

3)畫直線:imageline(圖片資源,起始x,起始y,終點x,終點y,顏色句柄):制作一條直線

4)畫矩形:imagerectangle(圖片資源,起始x,起始y,終點x,終點y,顏色句柄):制作一個矩形

5)畫圓弧:imagearc(圖片資源,軸點x,軸點y,寬度,高度,弧度起點,弧度終點,顏色):制作弧度圖像

6)在畫布上寫字:imagestring(圖片資源,文字大小,起始x,起始y,內容,顏色):用來書寫ASCII對應的字符(英文)

imagettftext(圖片資源,文字大小,旋轉角度,起始x,起始y,顏色,字體,內容):可以書寫任意文字(中文) 字體要指定字體路徑(ttf文件:C:\Windows\Fonts)

filename要用絕對路徑。。不然一直找不到暈死。


輸出畫布資源

1)輸出為圖片文件:以圖片文件形式保存到本地

2)輸出位網(wǎng)頁圖片:將圖片展示給html(用戶):服務器需要稿紙當前內容是圖片(修改響應頭)

黑色是因為無色

image+圖片格式

imagejpeg():保存成jpeg格式圖片

imagepng():保存成png

imagegif()……動不了的

如果圖片只是提供了圖片資源,不指定保存的文件位置,系統(tǒng)認為輸出給瀏覽器,反之保存到本地。

細節(jié)1:如果圖片輸出或者保存出錯,瀏覽器不會告知錯誤原因。。需要關閉header圖片輸出,才會告知


細節(jié)2:如果圖片輸出不成功,關閉header也看不到,最大可能是因為圖片輸出之前 輸出了別的額外內容(尤其是空格 空行)

銷毀畫布資源

從內存中將畫布資源清理掉,釋放內存

imagedestory(畫布資源)

獲取圖片信息

1)獲取畫布尺寸:imagesx(),imagesy()

2)獲取圖片尺寸:getimagesize()

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • PHP中GD庫的使用 GD簡介 PHP 不僅限于只產(chǎn)生 HTML 的輸出,還可以創(chuàng)建及操作多種不同格式的圖像文件。...
    dptms閱讀 1,087評論 0 2
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,336評論 0 17
  • 項目開發(fā)常見流程介紹 需求調研 項目經(jīng)理------>需求說明書 軟件設計書 項目經(jīng)理------>...
    _1633_閱讀 1,630評論 1 6
  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,537評論 1 19
  • 0226058-劉建華?華哥快樂瘦身? 【0226058-華哥】 連續(xù)第265天(20170406) 最終目標:體...
    0226058_華哥閱讀 293評論 0 0

友情鏈接更多精彩內容