2019-03-26 16:22:35 2703瀏覽
喜歡PHP開發(fā)技術(shù)的小伙伴應(yīng)該或多或少的知道或者了解一些PHP的圖像處理技術(shù)吧。那么關(guān)于PHP圖像處理技術(shù)你知道多少呢?本篇文章扣丁學(xué)堂PHP培訓(xùn)小編給讀者們分享一下PHP繪圖技術(shù),希望對小伙伴有所幫助。
繪圖:
場景: 驗證碼、圖像水印、圖像壓縮處理
php繪圖坐標(biāo)體系是從0,0點越向右值越大,越向下值越大,需要開啟php的gd2擴展 php.ini 中
參數(shù)1:圖像資源(畫布)
參數(shù)2:開始的x軸坐標(biāo)
參數(shù)3:開始的y軸坐標(biāo)
參數(shù)4:結(jié)束的x軸坐標(biāo)
參數(shù)5:結(jié)束的y軸坐標(biāo)
參數(shù)6:線條的顏色
(1)繪制線條: imageline($p1, $p2, $p3, $p4, $p5, $6)
(2)繪制三角形:imageline($p1, $p2, $p3, $p4, $p5, $6) // 需要3次
(3)繪制矩形:imagerectangle($p1, $p2, $p3, $p4, $p5, $6)
(3.1)繪制并填充矩形:imagefilledrectangle($p1, $p2, $p3, $p4, $p5, $6)
(4)繪制橢圓:imageellipse($p1, $p2, $p3, $p4, $p5, $6)
(4.1)繪制并填充橢圓:imagefilledellipse($p1, $p2, $p3, $p4, $p5, $6)
參數(shù)1:目標(biāo)圖像
參數(shù)2:原始圖像
參數(shù)3:目標(biāo)圖像坐標(biāo)x
參數(shù)4:目標(biāo)圖像坐標(biāo)y
參數(shù)5:原始圖像開始坐標(biāo)x
參數(shù)6:原始圖像開始坐標(biāo)y
參數(shù)7:原始圖像寬度
參數(shù)8:原始圖像高度
(5)將圖片繪制到畫布上:imagecopy ( $p1, $p2, $p3, $p4, $p5, $6, $7, $8)
參數(shù)1:目標(biāo)圖像
參數(shù)2:字體 1,2,3,4 或 5,則使用內(nèi)置字體
參數(shù)3:目標(biāo)圖像坐標(biāo)x
參數(shù)4:目標(biāo)圖像坐標(biāo)y
參數(shù)5:字符,文字
參數(shù)6:顏色
(6)繪制字符串:imagestring( $p1, $p2, $p3, $p4, $p5, $6)// 向畫布寫入字符,文字
參數(shù)1:圖像資源
參數(shù)2:字體大小
參數(shù)3:傾斜角度
參數(shù)4:x軸坐標(biāo)
參數(shù)5:y軸坐標(biāo)
參數(shù)6:字體顏色
參數(shù)7:字體文件
參數(shù)8:文字
(7)繪制中文:imagettftext($p1, $p2, $p3, $p4, $p5, $6, $7, $8)
參數(shù)1:圖像資源
參數(shù)2:弧形開始x坐標(biāo)
參數(shù)3:弧形開始y坐標(biāo)
參數(shù)4:弧形寬度
參數(shù)5:弧形高度
參數(shù)6:弧形開始角度
參數(shù)7:弧形結(jié)束角度
參數(shù)8:繪圖顏色
(8)繪制弧形:imagearc($p1, $p2, $p3, $p4, $p5, $6, $7, $8) // 三點鐘的位置是起點(0度), 順時針方向繪畫
實例-弧形:
// 創(chuàng)建一個 200X200 的圖像 $img = imagecreatetruecolor(200, 200); // 分配顏色 $white = imagecolorallocate($img, 255, 255, 255); $black = imagecolorallocate($img, 0, 0, 0); // 畫一個黑色的圓 imagearc($img, 100, 100, 150, 150, 0, 360, $black); // 將圖像輸出到瀏覽器 header("Content-type: image/png"); imagepng($img); // 釋放內(nèi)存 imagedestroy($img);
參數(shù)1:圖像資源
參數(shù)2:弧形開始x坐標(biāo)
參數(shù)3:弧形開始y坐標(biāo)
參數(shù)4:弧形寬度
參數(shù)5:弧形高度
參數(shù)6:弧形開始角度
參數(shù)7:弧形結(jié)束角度
參數(shù)8:繪圖顏色
參數(shù)9:填充樣式
【
IMG_ARC_PIE : 用直線連接產(chǎn)生圓形邊界
IMG_ARC_CHORD : 用直線連接了起始和結(jié)束點
IMG_ARC_NOFILL : 明弧或弦只有輪廓,不填充
IMG_ARC_EDGED :用直線將起始和結(jié)束點與中心點相連,和 IMG_ARC_NOFILL 一起使用是畫餅狀圖輪廓的好方法(而不用填充)
】
(9)繪制弧形并填充:imagefilledarc($p1, $p2, $p3, $p4, $p5, $6, $7, $8, $9) // 三點鐘的位置是起點(0度), 順時針方向繪畫
實例-弧形填充:
// 創(chuàng)建圖像 $image = imagecreatetruecolor(100, 100); // 分配一些顏色 $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); $gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0); $darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90); $navy = imagecolorallocate($image, 0x00, 0x00, 0x80); $darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50); $red = imagecolorallocate($image, 0xFF, 0x00, 0x00); $darkred = imagecolorallocate($image, 0x90, 0x00, 0x00); // 創(chuàng)建 3D 效果 for ($i = 60; $i > 50; $i--) { imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE); imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE); imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE); } imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE); imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE); imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE); // 輸出圖像 header('Content-type: image/png'); imagepng($image); imagedestroy($image);
效果:
最后想要了解更多PHP開發(fā)技術(shù)內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢,扣丁學(xué)堂有專業(yè)老師制定的PHP學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時俱進(jìn)的PHP視頻教程供大家學(xué)習(xí),想要學(xué)好PHP開發(fā)技術(shù)的同學(xué)請加入扣丁學(xué)堂PHP技術(shù)交流群:374332265。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入前端H5架構(gòu)師進(jìn)階VIP體驗課】
查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>