首頁  >  文章  >  後端開發  >  请教如何改验证里面字的大小

请教如何改验证里面字的大小

WBOY
WBOY原創
2016-06-13 11:18:26965瀏覽

请问怎么改验证里面字的大小?
http://pan.baidu.com/share/link?shareid=343815&uk=1865794164 不知道怎么回事上传不了图片,我把图片放百度网盘了。

如上图,请问怎么改验证里面字的大小?

代码如下:

<?php<br /> <br />session_start();<br />//session_register('SafeCode');<br />$type = 'gif';<br />$width= 92;<br />$height= 30;<br />header("Content-type: image/".$type);<br />srand((double)microtime()*1000000);<br />$randval = randStr(4,"");<br />if($type!='gif'&&function_exists('imagecreatetruecolor')){<br />$im = @imagecreatetruecolor($width,$height);<br />}else{<br />$im = @imagecreate($width,$height);<br />}<br />$r = Array(225,211,255,223);<br />$g = Array(225,236,237,215);<br />$b = Array(225,236,166,125);<br />$key = rand(0,3);<br />$backColor = ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]);<br />$borderColor = ImageColorAllocate($im,0,0,0);<br />$pointColor = ImageColorAllocate($im,255,170,255);<br />@imagefilledrectangle($im,0,0,$width -1,$height -1,$backColor);<br />@imagerectangle($im,0,0,$width-1,$height-1,"");<br />$stringColor = ImageColorAllocate($im,555,51,153);<br />for($i=0;$i<=100;$i++){<br />$pointX = rand(2,$width-2);<br />$pointY = rand(2,$height-2);<br />@imagesetpixel($im,$pointX,$pointY,$pointColor);<br />}<br />@imagestring($im,10,10,2,$randval,$stringColor);<br />$ImageFun='Image'.$type;<br />$ImageFun($im);<br />@ImageDestroy($im);<br />$_SESSION['validationcode'] = $randval;<br />function randStr($len=6,$format='NUMBER') {<br />switch($format) {<br />case 'ALL':<br />$chars='0123456789';break;<br />case 'CHAR':<br />$chars='';break;<br />case 'NUMBER':<br />$chars='0123456789';break;<br />default :<br />$chars='0123456789';<br />break;<br />}<br />$string="";<br />while(strlen($string)<$len)<br />$string.=substr($chars,(mt_rand()%strlen($chars)),1);<br />return $string;<br />}<br />;echo ' ';<br />?>


------解决方案--------------------
无论如何,手册总是要看的。那是你行为的依据

imagestring -- 水平地画一行字符串
说明
bool imagestring ( resource image, int font, int x, int y, string s, int col )

imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角为 0,0)。如果 font 是 1,2,3,4 或 5,则使用内置字体。 


imagettftext -- 用 TrueType 字体向图像写入文本
说明
array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )




image
图像资源。见 imagecreatetruecolor()。 

size
字体大小。根据 GD 版本不同,应该以像素大小指定(GD1)或点大小(GD2)。 

angle
角度制表示的角度,0 度为从左向右读的文本。更高数值表示逆时针旋转。例如 90 度表示从下向上读的文本。 

x
由 x,y 所表示的坐标定义了第一个字符的基本点(大概是字符的左下角)。这和 imagestring() 不同,其 x,y 定义了第一个字符的左上角。例如 "top left" 为 0, 0。 

y
Y 坐标。它设定了字体基线的位置,不是字符的最底端。 

color
颜色索引。使用负的颜色索引值具有关闭防锯齿的效果。见 imagecolorallocate()。 

fontfile
是想要使用的 TrueType 字体的路径。 

根据 PHP 所使用的 GD 库的不同,当 fontfile 没有以 / 开头时则 .ttf 将被加到文件名之后并且会在库定义字体路径中尝试搜索该文件名。 

当使用的 GD 库版本低于 2.0.18 时,一个空格字符 而不是分号将被用来作为不同字体文件的“路径分隔符”。不小心使用了此特性将会导致一条警告信息:Warning: Could not find/open font。对受影响的版本来说唯一解决方案就是将字体移动到不包含空格的路径中去。 

很多情况下字体都放在脚本的同一个目录下。下面的小技巧可以减轻包含的问题。 
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn