您好,登錄后才能下訂單哦!
這篇文章主要介紹php中如何使用gd庫(kù),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
php gd庫(kù)的使用方法:首先創(chuàng)建一個(gè)PHP示例文件;然后用GD庫(kù)中的“imagecreatetruecolor”方法創(chuàng)建一塊空白圖片;最后通過(guò)imageline繪制一個(gè)簡(jiǎn)單的線(xiàn)條即可。
php gd庫(kù)的用法
在php中需要圖像處理的地方GD庫(kù)會(huì)發(fā)揮重要的作用,php可以創(chuàng)建并處理包括GIF,PNG,JPEG,WBMP以及XPM在內(nèi)的多種圖像格式,簡(jiǎn)單的舉幾個(gè)例子:
1、用GD庫(kù)會(huì)創(chuàng)建一塊空白圖片,然后繪制一個(gè)簡(jiǎn)單的線(xiàn)條
$img=imagecreatetruecolor(100, 100); //創(chuàng)建空白圖片 $red=imagecolorallocate($img, 0xFF, 0x00, 0x00); //創(chuàng)建畫(huà)筆 imageline($img,0,0,100,100,$red); //繪制線(xiàn)條 //輸出圖像到頁(yè)面 header("content-type: image/png"); imagepng($img); //釋放圖片資源 imagedestroy($img);
那么現(xiàn)在就在默認(rèn)黑色的背景上畫(huà)了一個(gè)紅色的線(xiàn)段,坐標(biāo)從(0,0)到(100,100)
效果就如下圖:
2、繪制字符串
$img = imagecreatetruecolor(100, 100); $red = imagecolorallocate($img, 0xFF, 0x00, 0x00); //開(kāi)始繪制字符串 imagestring($img,5,0,13,"zengzhiying",$red); header("content-type: image/png"); imagepng($img); imagejpeg($img,'img.jpg',80); //輸出圖片到文件并設(shè)置壓縮參數(shù)為80 imagedestroy($img);
代碼第7行代碼作用是將圖片保存到文件,直接可以打開(kāi),也可以用imagepng()函數(shù)保存為PNG格式的圖片
3、生成數(shù)字驗(yàn)證碼
$img = imagecreatetruecolor(100, 40); $black = imagecolorallocate($img, 0x00, 0x00, 0x00); $green = imagecolorallocate($img, 0x00, 0xFF, 0x00); $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF); imagefill($img,0,0,$white); //繪制底色為白色 //繪制隨機(jī)的驗(yàn)證碼 $code = ''; for($i = 0; $i < 4; $i++) { $code .= rand(0, 9); } imagestring($img, 6, 13, 10, $code, $black); //加入噪點(diǎn)干擾 for($i=0;$i<50;$i++) { imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black); imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green); } //輸出驗(yàn)證碼 header("content-type: image/png"); imagepng($img); imagedestroy($img);
這樣就生成了4位隨機(jī)數(shù)字驗(yàn)證碼,并且有黑色和綠色兩種顏色的點(diǎn)干擾,當(dāng)然這是最簡(jiǎn)陋的一個(gè)驗(yàn)證碼了,在這里只是演示大致過(guò)程,效果如下圖:
4、給圖片添加水印
$filename = 'tmp.jpg'; $logofile='logo.png'; $im = imagecreatefromjpeg($filename); $logo = imagecreatefrompng($logofile); $size = getimagesize($logofile); imagecopy($im, $logo, 15, 15, 0, 0, $size[0], $size[1]); header("content-type: image/jpeg"); imagejpeg($im); imagedestroy($im);
imagecopy()就是添加水印的函數(shù),里面的參數(shù)可以自己調(diào)整,做出來(lái)更好的水印
以上是“php中如何使用gd庫(kù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。