在基本的环境准备好之后我们就可以愉快的开始进行图片处理。
骚年只要记住一下几个招式!
准备画布
准备涂料
在画布上画图或添补笔墨
输出终极图像或保存终极图像
开释画布资源
这便是心法口诀!
!
!
!
!
那么制作一个大略单纯的验证码的套路便是!
!
imagecreatetruecolor(); //创建画布
imagecolorallocate(); //天生涂料
imagesetpixel(); //可用于绘制模糊点
imagestring(); //水平的画出字符串
imageline(); //画一条线段
imagettftext(); //输入笔墨
header(); //奉告浏览器天生的图片格式
imagepng/imagejpeg/imagegif //输出图片
imagedestroy(); //销毁图片资源
神功已成!
!
!
!
!
代码示例:
<?php
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);
?>