Main Page   File List   File Members   Related Pages  

secureimage.php

Go to the documentation of this file.
00001 <?php
00002 // Debug:
00003 $text = "alphabet";
00004 $hidelevel = 5;
00005 
00006 function GetColor(&$img)
00007 //{{{
00008 {
00009         return imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255));
00010 }
00011 //}}}
00012 function MakeImage($letter)
00013 //{{{
00014 {
00015         $img = @imagecreatetruecolor(50,50);
00016         imagefill($img, 0, 0, GetColor($img));
00017         imagettftext($img, 18, rand(-60,60), 20, 25, GetColor($img),
00018                 './VeraSeBd.ttf', $letter);
00019         return $img;
00020 }
00021 //}}}
00022 function HideImage(&$img, $hidelevel)
00023 //{{{
00024 {
00025         $maxX = imagesx($img);
00026         $maxY = imagesy($img);
00027         for($i = 1; $i <= $hidelevel; $i++)
00028         {
00029                 $function = rand(1,5);
00030                 switch ($function)
00031                 {
00032                         case 1:
00033                                 imagerectangle( $img,
00034                                         rand(0, $maxX), rand(0, $maxY),
00035                                         rand(0, $maxX), rand(0, $maxY),
00036                                         GetColor($img));
00037                                 break;
00038                         case 2:
00039                                 imagearc( $img,
00040                                         rand(0, $maxX), rand(0, $maxY),
00041                                         rand(0, $maxX), rand(0, $maxY),
00042                                         rand(0, 359), rand(0, 359),
00043                                         GetColor($img));
00044                                 break;
00045                         case 3:
00046                                 imageline( $img,
00047                                         rand(0, $maxX), rand(0, $maxY),
00048                                         rand(0, $maxX), rand(0, $maxY),
00049                                         GetColor($img));
00050                                 break;
00051                         case 4:
00052                                 imagedashedline( $img,
00053                                         rand(0, $maxX), rand(0, $maxY),
00054                                         rand(0, $maxX), rand(0, $maxY),
00055                                         GetColor($img));
00056                                 break;
00057                         case 5:
00058                                 imageellipse( $img,
00059                                         rand(0, $maxX), rand(0, $maxY),
00060                                         rand(0, $maxX), rand(0, $maxY),
00061                                         GetColor($img));
00062                                 break;
00063                 }
00064         }
00065 }
00066 //}}}
00067 
00068 header('Content-type: image/png');
00069 $outimg = imagecreatetruecolor(50 * strlen($text), 50);
00070 for ($i = 1; $i <= strlen($text); $i++)
00071 //{{{ Make each image, copy it to output image
00072 {
00073         $img = MakeImage(substr($text, $i - 1, 1));
00074         HideImage($img, $hidelevel);
00075         imagecopy( $outimg, $img, 50 * ($i - 1), 0, 0, 0, 50, 50);
00076         imagedestroy($img);
00077 }
00078 //}}}
00079 
00080 imagerectangle($outimg,
00081         0, 0, imagesx($outimg) - 1, imagesy($outimg) - 1,
00082         GetColor($outimg));
00083 
00084 imagepng($outimg);
00085 imagedestroy($outimg);
00086 ?>

Generated on Wed Jun 9 03:38:16 2004 for modphpcms by doxygen1.2.18