1. 程式人生 > >使用php寫出一個驗證碼圖片,由於寬度被定死了,所以操作起來不太方便,之後盡量寫靈活,成為一個可調用的函數。

使用php寫出一個驗證碼圖片,由於寬度被定死了,所以操作起來不太方便,之後盡量寫靈活,成為一個可調用的函數。

新手 put 由於 -type draw cat 驗證 font 寬度

<?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寫出一個驗證碼圖片,由於寬度被定死了,所以操作起來不太方便,之後盡量寫靈活,成為一個可調用的函數。