燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it
php画图:比如说验证码,缩略图,加水印都要用到GD库,所以要开启gd2库,才能用
首先找到php.ini中extension=php_gd2.dll 去掉前边的分号,然后重启apache,创建图片就可以用了
- /*
- 画图的一般步骤:
- 1.创建画布
- 2.创建颜料
- 3.画图或者写字
- 4.保存
- 5.销毁资源
- */
- //创建画布
- $img=imagecreatetruecolor(300,200);
- //创建颜料
- $bg=imagecolorallocate($img,30,255,255);
- //画布填充颜色
- imagefill($img,0,0,$bg);
- //保存图片
- if(imagepng($img,'./01.png')){
- echo "图片创建成功";
- }
- //销毁图片
- imagedestroy($img);
简单验证码:
- //创建图片
- $im = imagecreatetruecolor(50, 30);
- // 将背景设为蓝色
- $blue = imagecolorallocate($im, 100, 255, 255);
- //创建颜料
- $imgcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
- //填充背景颜色
- imagefill($im, 0, 0, $blue);
- //画干扰线
- for($i=0;$i<4;$i++){
- imageline($im,rand(0,20),0,100,rand(0,60),$imgcolor);
- }
- //画噪点
- for($i=0;$i<100;$i++){
- imagesetpixel($im,rand(0,50),rand(0,30),$imgcolor);
- }
- //写字符串
- $str=substr(str_shuffle('ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'),0,4);
- imagestring($im,4,10,10,$str,$imgcolor);
- //输出图片
- header('content-type: image/png');
- imagepng($im);
- //销毁图片
- imagedestroy($im);
验证码注意保存格式,utf8无bom格式,只保存为utf8的会出现乱码
输出随机验证码为: