NAME
GD::SecurityImage::Utils - generate captcha images and save to file
SYNOPSIS
Example Usage:
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
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