在PHP中,有些处理图像的函数时可以直接使用的,但是绝大多数图像处理相关的函数还是需要在安装GD库之后才能使用,GD库是PHP处理图像的扩展库,它提供了一系列用来处理图像的API。在Windows系统下,GD库已经默认安装好了,需要在php. ini 中开启,将配置文件中extension=php_gd2.dll选项中前面的分号去掉,保存修改后的文件,重启 Apache 服务即可启动GD函数库。
在基本的环境准备好之后我们就可以愉快的开始进行图片处理。
骚年只要记住一下几个招式!
-
准备画布
-
准备涂料
-
在画布上画图或填充文字
-
输出最终图像或保存最终图像
-
释放画布资源
这就是心法口诀!!!!!
那么制作一个简易的验证码的套路就是!!
-
imagecreatetruecolor(); //创建画布
-
imagecolorallocate(); //生成涂料
-
imagesetpixel(); //可用于绘制模糊点
imagestring(); //水平的画出字符串
imageline(); //画一条线段
imagettftext(); //输入文字
-
header (); //告知浏览器生成的图片格式
imagepng/imagejpeg/imagegif //输出图片
-
imagedestroy(); //销毁图片资源
神功已成!!!!!
代码示例:
function getStr($len){
$str = ‘abcdefghijklmnopqrstuvwxyz1234567890’;
$ length = strlen($str)-1;
$s = ”;
for($i=0;$i<$len;$i++){
$s .= $str{mt_rand(0,$length)};
}
return $s;
}
$str = getStr(4);
session_start();
$_SESSION[‘code’] = $str;
$img = imagecreatetruecolor(100,40);
$code = imagecolorallocate($img,255,215,255);
$pix = imagecolorallocate($img,108,208,203);
$font = imagecolorallocate($img,0,0,0);
$line = imagecolorallocate($img,86,53,217);
imagefill($img,0,0,$code);
for($i=0;$i<500;$i++){
imagesetpixel($img,mt_rand(0,100),mt_rand(0,40),$pix);
}
$fontPath = ‘C:\Windows\Fonts\andlso.ttf’;
imagettftext($img,30,0,10,30,$font,$fontPath,$str);
for($i=0;$i<5;$i++){
imageline($img,mt_rand(0,100),mt_rand(0,40),mt_rand(0,100),mt_rand(0,40),$line);
}
header(‘content-type:image/jpeg’);
imagejpeg($img);
imagedestroy($img);
?>
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~