圖像**因存在錯(cuò)誤無(wú)法顯示
<?php
session_start();
// 驗(yàn)證碼
$img = imagecreatetruecolor(200, 80); // 生成一個(gè)彩色圖片
$bgcolor = imagecolorallocate($img, 255, 255, 255); // 白色
imagefill($img, 0, 0, $bgcolor); // 填充背景
??????????????????????????????? ?
header('content-type:text/html;charset=utf-8');
// 定義字符集路徑
$fontface = "simhei.ttf";
// 定義字符庫(kù)
$str =? "中文字庫(kù)";
// 如果字符必須保證為 UTF-8 編碼格式, 如果不是,需要將其轉(zhuǎn)換UTF-8 編碼
// iconv ( string $in_charset , string $out_charset , string $str ) 將 $in_charset 編碼的 $str 字符串按要求的 $out_charset 字符編碼來(lái)轉(zhuǎn)換 并返回
// $str = iconv("GBK", "UTF-8", $text);
// 將字符庫(kù)中的字符截取成數(shù)組
// str_split(string,length) 把字符串分割到數(shù)組中。string 要分割的字符串。length 每個(gè)數(shù)組元素的長(zhǎng)度。默認(rèn)是 1。
// 因?yàn)?utf-8 編碼的字符 是三個(gè)字節(jié)一個(gè)漢字,所以 length = 3.
$strdb = str_split($str,3);
for ($i=0; $i < 4; $i++) {
??? // 0-120 為深色區(qū),能更好的在淺色背景中識(shí)別驗(yàn)證碼
??? $fontcolor = imagecolorallocate($img, rand(0,120), rand(0,120), rand(0,120));
??? $index = rand(0,count($strdb)-1);
??? $cn = $strdb[$index];
??? $captch .=$cn;
??? // imagettftext ( 畫(huà)布資源 , 字體大小 , 傾斜角度 , X軸位置 , Y軸位置 , 字體顏色 , 字符集路徑 , 文字內(nèi)容 )???? 圖像寫(xiě)入文本
??? imagettftext($img, rand(14,18), mt_rand(-60,60), (40*$i+20), mt_rand(30,35), $fontcolor, $fontface, $cn);
}
// 保存驗(yàn)證碼,并全部轉(zhuǎn)換在小寫(xiě)
$_SESSION['authcode'] = strtolower($captch);
// 加入噪點(diǎn)干擾
for ($i = 0; $i < 200; $i ++) {
??? $pointcolor = imagecolorallocate($img, rand(50, 200), rand(50, 255), rand(50, 200));
??? imagesetpixel($img, rand(0, 200), rand(0, 80), $pointcolor); // 隨機(jī)點(diǎn)生成
}
// 加入線干擾
for ($i = 0; $i < 3; $i ++) {
??? $linecolor = imagecolorallocate($img, rand(0, 255), rand(0, 255), rand(0, 255));
??? imageline($img, rand(0, 200), rand(0, 80), rand(0, 200), rand(0, 80), $linecolor);
}
// 輸出驗(yàn)證碼
header("content-type: image/png");
imagepng($img);
imagedestroy($img);
我自己的照著寫(xiě)的代碼出現(xiàn)這種錯(cuò)誤,我還以為我自己寫(xiě)有問(wèn)題,但是一步步檢查發(fā)現(xiàn)語(yǔ)法都沒(méi)問(wèn)題,就是 imagesetpixel()這里出錯(cuò),但是又不知道問(wèn)題所在,上面是網(wǎng)友的代碼,我復(fù)制粘貼也是一樣出錯(cuò),網(wǎng)上說(shuō)在header("content-type: image/png");前面加ob_clean();,一樣報(bào)錯(cuò),求大師指導(dǎo)。環(huán)境是xampp3.2.2,
2017-06-18
沒(méi)毛病,加上去就可以了,。。。。