GD and Image 函数
在线手册:中文  英文

imagegd

(PHP 4 >= 4.0.7, PHP 5)

imagegd将 GD 图像输出到浏览器或文件

说明

bool imagegd ( resource $image [, string $filename ] )

imagegd() 将一个 GD 图像输出到 filenameimage 参数是由 imagecreatetruecolor() 函数返回的。

filename 参数为可选项,如果为空,则原始图像流会被直接输出。

Note:

GD 格式一般是用来加载图像中的一部分时更快。注意 GD 格式只能用于兼容于 GD 的应用程序。

参见 imagegd2()


GD and Image 函数
在线手册:中文  英文

用户评论:

rohitkumar at cftechno dot com (2011-06-29 05:15:42)

<?php

/*
* Captcha image for security 
*/

session_start();

class 
CaptchaSecurityImages {
 
   var 
$font 'monofont.ttf';
 
   function 
generateCode($characters) {
      
/* list all possible characters, similar looking characters and vowels have been removed */
      
$possible '23456789bcdfghjkmnpqrstvwxyz';
      
$code '';
      
$i 0;
      while (
$i $characters) { 
         
$code .= substr($possiblemt_rand(0strlen($possible)-1), 1);
         
$i++;
      }
      return 
$code;
   }
 
   function 
CaptchaSecurityImages($width='120',$height='40',$characters='6') {
      
$code $this->generateCode($characters);
      
/* font size will be 75% of the image height */
      
$font_size $height 0.75;
      
$image imagecreate($width$height) or die('Cannot initialize new GD image stream');
      
/* set the colours */
      
$background_color imagecolorallocate($image255255255);
      
$text_color imagecolorallocate($image2040100);
      
$noise_color imagecolorallocate($image100120180);
      
/* generate random dots in background */
      
for( $i=0$i<($width*$height)/3$i++ ) {
         
imagefilledellipse($imagemt_rand(0,$width), mt_rand(0,$height), 11$noise_color);
      }
      
/* generate random lines in background */
      
for( $i=0$i<($width*$height)/150$i++ ) {
         
imageline($imagemt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color);
      }
      
/* create textbox and add text */
      
$textbox imagettfbbox($font_size0$this->font$code) or die('Error in imagettfbbox function');
      
$x = ($width $textbox[4])/2;
      
$y = ($height $textbox[5])/2;
      
imagettftext($image$font_size0$x$y$text_color$this->font $code) or die('Error in imagettftext function');
      
/* output captcha image to browser */
      
header('Content-Type: image/jpeg');
      
imagejpeg($image);
      
imagedestroy($image);
      
$_SESSION['security_code'] = $code;
   }
 
}
 
$width = isset($_GET['width']) && $_GET['width'] < 600 $_GET['width'] : '120';
$height = isset($_GET['height']) && $_GET['height'] < 200 $_GET['height'] : '40';
$characters = isset($_GET['characters']) && $_GET['characters'] > $_GET['characters'] : '6';
 
$captcha = new CaptchaSecurityImages($width,$height,$characters);
 
?>

易百教程