The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

GD::SecurityImage::Utils - generate captcha images and save to file

SYNOPSIS

Example Usage:

        use GD::SecurityImage::Utils;
        use Cwd;
        
        my $abs_captcha_table_file = cwd().'/t/captcha_table.txt';
        my $abs_font = cwd().'/t/luxisr.ttf';
        unlink $abs_captcha_table_file; # reset it
        
        
        
        # 1) CREATE A LIST OF IMAGES TO CREATE
        my $max = 20; # how many?
        my @abs_captchas;
        while( $max-- ){
           push @abs_captchas, cwd()."/t/captcha_$max.png";
        }
        
        
        # 2) GENERATE IMAGES AND SAVE CODES
        # save codes in a text file for lookup
        
        open( CAPTCHA_TABLE_FILE, '>>',$abs_captcha_table_file) or die($!);
        
        # for each in the list, make a image, and record the right code
        for my $abs_out ( @abs_captchas ){
           
              unlink $abs_out; # just in case
        
              # create the captcha image and find out what the code is
              my $correct_code = write_captcha($abs_out,{font=>$abs_font});
           
              # save it in the file for later lookups
              print CAPTCHA_TABLE_FILE "$correct_code=$abs_out\n";
        
              -f $abs_out or die; # double check ?
           
        }
        
        close CAPTCHA_TABLE_FILE;

EXPORTED SUBS

write_captcha()

argument is absolute file path to write captcha image to, should be a png or jpg format optional argument is a hash ref with following options

   width    - number, pixels accross
   height   - height, pixels up down, default is 50
   ptsize   - font point size, default is 32
   lines    
   rndmax
   font     - abs path to font file, no default set
   bgcolor

returns correct code for image file

      my $correct_code = write_captca($abs_out);
      
      my $correct_code = write_captca($abs_out, { font => '/abs/path/to.ttf' });

 

SEE ALSO

GD::SecurityImage

AUTHOR

Leo Charre