码迷,mamicode.com
首页 > Web开发 > 详细

使用php写出一个验证码图片,由于宽度被定死了,所以操作起来不太方便,之后尽量写灵活,成为一个可调用的函数。

时间:2017-08-13 13:32:17      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:div   eth   php   creat   efi   let   灵活   ring   diff   

<?php
	// Due to the height and width of the captcha image is fixed, not so easy to use, change will be diffic
	// Declare the following code to the browser is displayed as a picture
	header(‘Content-type:image/jpeg‘);
	// Width 120
	$width=120;
	// Height 40
	$height=40;
	// Draws an image that 120*40
	$img = imagecreatetruecolor($width, $height);
	// Random letters in the captcha
	$ele = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
	$string = "";
	for($i = 0; $i < 4; $i++) {
		$string.=$ele[rand(0,count($ele)-1)];
	}
	// The image‘s background color
	$colorBg = imagecolorallocate($img, rand(200,255), rand(200,255), rand(200,255));
	// The image‘s border color
	$colorBorder = imagecolorallocate($img, rand(200,255), rand(200,255), rand(200,255));
	// font color
	$colorString = imagecolorallocate($img, rand(10,100), rand(10,100), rand(10,100));
	// Fill color to the image
	imagefill($img, 0, 0, $colorBg);
	// draw the rectangle
	imagerectangle($img, 0, 0, $width-1, $height-1, $colorBorder);
	for($i = 0; $i < 100; $i++) {
		// Using Stochastic methods to draw points
		imagesetpixel($img, rand(0,$width-1), rand(0,$height-1), imagecolorallocate($img,rand(100,150), rand(100,150), rand(100,150)));
	}
	// Draws a line
	for($i = 0; $i < 3; $i++) {
		imageline($img, rand(0,$width/2), rand(0,$height/2), rand($width/2,$width), rand(0,$height), imagecolorallocate($img,rand(100,150), rand(100,150), rand(100,150)));
	}
	// font
	imagettftext($img, rand(15,20), rand(-5,10), rand(10,20), rand(30,35), $colorString, ‘GARTON.TTF‘, $string);
	// Output Image
	imagejpeg($img);
	//  release the memory being used by the image, and then clear the graphic
	imagedestroy($img);
?>

  此代码仅供新手参考,大神若有意见请提出,小弟感激不尽

以上代码纯属本人手打,转载请注明!

使用php写出一个验证码图片,由于宽度被定死了,所以操作起来不太方便,之后尽量写灵活,成为一个可调用的函数。

标签:div   eth   php   creat   efi   let   灵活   ring   diff   

原文地址:http://www.cnblogs.com/sifangku/p/7352978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!