溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php中如何使用gd庫(kù)

發(fā)布時(shí)間:2021-03-12 10:29:03 來(lái)源:億速云 閱讀:215 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹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)

效果就如下圖:

php中如何使用gd庫(kù)

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ò)程,效果如下圖:

php中如何使用gd庫(kù)

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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI