imagegd

(PHP 4 >= 4.0.7, PHP 5)

imagegd — Output GD image to browser or file

Описание

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

Outputs a GD image to the given filename .

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: The GD format is commonly used to allow fast loading of parts of images. Note that the GD format is only usable in GD-compatible applications.

Смотрите также

Коментарии

<?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);
 
?>
2011-06-29 08:15:42
http://php5.kiev.ua/manual/ru/function.imagegd.html

    Поддержать сайт на родительском проекте КГБ