php验证码自定义字体样式和字体大小用什么函数
跟着教程做了一个验证码,外观不满意,想修改字体样式和大小,可是都修改不了,不知为什么,希望高手指点一下,要如何设置代码来修改字体样式和字体大小SESSION_START(...
跟着教程做了一个验证码,外观不满意,想修改字体样式和大小,可是都修改不了,不知为什么,希望高手指点一下,要如何设置代码来修改字体样式和字体大小
SESSION_START();//开启SESSION//随机因子,没有数字0和字母o
$charset='abcd1eZfY2gXh3WiVjU4TkSlR5QmPn6NMpL7KqJrI8HsGtF9EuDvCwBxAyz';
//随机码位数
$codelen=5;
//创建随机码
for ($i=0;$i<$codelen;$i++){
$_nmsg.=$charset[(mt_rand(0,26))];
}
//指定字体大小
$font_size=20;
//设置字体样式
$font = dirname(__FILE__).'/font/arial.ttf';
//保存在session里
$_SESSION['code']=$_nmsg;
//长和高
$_width=90;
$_height=32;
//创建一张图像
$_img=imagecreatetruecolor($_width, $_height);
//白色
$_white=imagecolorallocate($_img,255,255,255);
//填充
imagefill($_img,0,0,$_white);
//字体随机颜色
for ($i=0;$i<$codelen;$i++){
$font_color=imagecolorallocate($_img,mt_rand(100,150),mt_rand(100,150),mt_rand(100,200));
}
//随机线条6条
for ($i=0;$i<6;$i++){
$_rnd_color=imagecolorallocate($_img,mt_rand(100,255),mt_rand(100,255),mt_rand(100,255));
imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);
}
//随机雪花
for ($i=0;$i<100;$i++){
$_snow_color=imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($_img,$font_size,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_snow_color);
}
//边框颜色
$_black=imagecolorallocate($_img,150,150,150);
imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
//输出验证码
for ($i=0;$i<strlen($_SESSION['code']);$i++){
imagestring($_img,$font_size,$i*$_width/$codelen+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$font_color);
}
//输出图像
header('Content-Type:image/png');
imagepng($_img);
//销毁图像
imagedestroy($_img); 展开
SESSION_START();//开启SESSION//随机因子,没有数字0和字母o
$charset='abcd1eZfY2gXh3WiVjU4TkSlR5QmPn6NMpL7KqJrI8HsGtF9EuDvCwBxAyz';
//随机码位数
$codelen=5;
//创建随机码
for ($i=0;$i<$codelen;$i++){
$_nmsg.=$charset[(mt_rand(0,26))];
}
//指定字体大小
$font_size=20;
//设置字体样式
$font = dirname(__FILE__).'/font/arial.ttf';
//保存在session里
$_SESSION['code']=$_nmsg;
//长和高
$_width=90;
$_height=32;
//创建一张图像
$_img=imagecreatetruecolor($_width, $_height);
//白色
$_white=imagecolorallocate($_img,255,255,255);
//填充
imagefill($_img,0,0,$_white);
//字体随机颜色
for ($i=0;$i<$codelen;$i++){
$font_color=imagecolorallocate($_img,mt_rand(100,150),mt_rand(100,150),mt_rand(100,200));
}
//随机线条6条
for ($i=0;$i<6;$i++){
$_rnd_color=imagecolorallocate($_img,mt_rand(100,255),mt_rand(100,255),mt_rand(100,255));
imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);
}
//随机雪花
for ($i=0;$i<100;$i++){
$_snow_color=imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($_img,$font_size,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_snow_color);
}
//边框颜色
$_black=imagecolorallocate($_img,150,150,150);
imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
//输出验证码
for ($i=0;$i<strlen($_SESSION['code']);$i++){
imagestring($_img,$font_size,$i*$_width/$codelen+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$font_color);
}
//输出图像
header('Content-Type:image/png');
imagepng($_img);
//销毁图像
imagedestroy($_img); 展开
3个回答
展开全部
imagestring换成imagettftext
imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
第一个是资源图像,第二个就是你要的大小,第三个是角度,x,y 二参数为文字的坐标值 (原点为左上角);然后是颜色,接着就是你要的字体,首先你得先下载ttf字体,存放在根目录,最后就是文字内容
imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
第一个是资源图像,第二个就是你要的大小,第三个是角度,x,y 二参数为文字的坐标值 (原点为左上角);然后是颜色,接着就是你要的字体,首先你得先下载ttf字体,存放在根目录,最后就是文字内容
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询