00001 <?php
00002
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
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 ?>