PHP Code:
<?php

09    
function imageconverttruecolor(&$image)
10    {
11        $width=imagesx($image);$height=imagesy($image);
12        $final=imagecreatetruecolor($width$height);
13        imagecopy($final$image0000$width$height);
14        imagedestroy($image);
15        $image $final;
16    }
17    $background imagecreatefrompng('captcha.png');
18    $lettersimg imagecreatefrompng('letters.png');
19    $captcha    imagecreatefrompng('captcha_search.png');
20    imageconverttruecolor($background);
21    imageconverttruecolor($lettersimg);
22    imageconverttruecolor($captcha);
23    define('x',imagesx($captcha));
24    define('y',imagesy($captcha));
25    $pixels = array();
26    for($x 0x>$x; ++$x){
27        for($y 0y>$y; ++$y){
28            $s=imagecolorat($background$x$y);
29            if($s&&$s==imagecolorat($captcha$x$y))
30                 $pixels[$x][$y]=0xFFFFFF;
31            else $pixels[$x][$y]=0x000000;
32        }}
33    imagedestroy($background);
34    for($p 03>$p; ++$p){
35        for($x 03>$x; ++$x){
36            for($y=0;y>$y;++$y){
37                $filterpixel=1;
38                settype($filterpixel,'boolean');
39                if(!$pixels[$x-1][$y-1]&&!$pixels[$x][$y-1]&&!$pixels[$x+1][$y-1]) $filterpixel 0// top
40                if(!$pixels[$x+1][$y-1]&&!$pixels[$x+1][$y]&&!$pixels[$x+1][$y+1]) $filterpixel 0// right
41                if(!$pixels[$x-1][$y+1]&&!$pixels[$x][$y+1]&&!$pixels[$x+1][$y+1]) $filterpixel 0// bottom
42                if(!$pixels[$x-1][$y-1]&&!$pixels[$x-1][$y]&&!$pixels[$x-1][$y+1]) $filterpixel 0// left
43                if($filterpixel$pixels[$x][$y] = 0xFFFFFF;
44            }}}
45    for($x=0x>$x; ++$x){
46        $pixels[$x][0] = 0xFFFFFF;
47        $pixels[$x][1] = 0xFFFFFF;
48        $pixels[$x][1] = 0xFFFFFF;
49        $pixels[$x][2] = 0xFFFFFF;
50    }
51    for($y=0y>$y;++$y){
52        $pixels[0][$y] = 0xFFFFFF;
53        $pixels[1][$y] = 0xFFFFFF;
54        $pixels[x-1][$y] = 0xFFFFFF;
55        $pixels[x-2][$y] = 0xFFFFFF;
56    }
57    for($x=50;54>$x;++$x){
58        for($y=2$y 5; ++$y){
59            $pixels[$x][$y] = 0xFFFFFF;
60    }}


Similar Threads: