Skip to content

mdanilchenko/GDCapchaMaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GDCapchaMaker (PHP and GD)

Easy to use PHP script for random capcha creation. Based on GD liprary.

Funcitonality

GDCapchaMaker Class

Creates singlre capcha image based on settings (constructor params):

text:String  - text to be placed on image
width:Integer - image wight (pixels)
height:Integer - image height (pixels)
fontSize:Integer - font size
ttfPath:String - path to font file (.ttf)
xMaxShift:Integer - maximal x-axis shifting when uglifying image
yMaxShift:Integer - maximal y-axis shifting when uglifying image
linesCount:Integer - number of random lines drawn in background

Methods:

private xFunction(float[0:1] $percent) - defines x-axis shifting. Should return values in [-1:1] (always return 0 to disable x-shifting)
private yFunction(float[0:1] $percent) - defines y-axis shifting. Should return values in [-1:1] (always return 0 to disable y-shifting)
public create(String $path) - creates capcha-image using settings passed in constructor and saves as file on specified $path
private addLines() - adds linse on capcha background
private getTemplateImage() - returns image resource with plane text writen
private getClearImage() - returns background image resource
private uglifyImage() - makes shiftingn for template image and comines it with background
private imagelinethick(...) - raws line on image with selected thick

Usage Example: Creates 200x100 image with "Hello" text, font size: 21px, font: PT.ttf, 10px of maximal shifting on both axis and 3 lines on background. Result saves to file output/1.jpg

$creator = new GDCapchaMaker("Hello",200,100,21,'fonts/PT.ttf',10,10,3);
$creator->create('output/1.jpg');

CapchaGenerator Class

Simple class for fast random capcha generation. Creates as many images as you wish.

Options

 width:Integer - images widt
 height:Integer - images height
 textSize:Integer - number of letters on capcha image
 fontSize: Integer - font size in px
 fontPath:String - path to ttf-file
 savePath:String - save folder path (Example: "/home/user/output")

Methods:

public generate(Integer $count) - generates amount of images specified with $count and returns array of elements? containing information about generated capchas:
Returns: Array of {
    path=>Path to image
    solution=>Text written on image
}

private generateRandomString(Integer $length) - generates random string selected length

Usage Example Creates 30 200x100 images with random 8-chars text, font size: 24px, font: PT.ttf and stores in 'output' folder (shifting and background lines added by default configurations of GDCapchaMaker class). Result saves to file output/1.jpg

$generator = new CapchaGenerator(200,100,8,24,"fonts/PT.ttf",'output');
$capchas = $generator->generate(30);

License

Feel free to use and modify this code.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages