2022-06-06 21:30:34 +00:00
< ? php
header ( " Content-type: image/png " );
2023-01-10 16:29:32 +00:00
// создаем картинку размером 172X52
2022-06-06 21:30:34 +00:00
$img = imagecreatetruecolor ( 107 , 26 ) or die ( 'Cannot create image' );
$orange = imageColorAllocate ( $img , 107 , 26 , 64 );
2023-01-10 16:29:32 +00:00
// заполняем фон картинки
2022-06-06 21:30:34 +00:00
imagefill ( $img , 0 , 0 , 0x616161 );
$x =- 20 ;
$i = 1 ;
$sum = " " ;
2023-01-10 16:29:32 +00:00
//цвет текста
2022-06-06 21:30:34 +00:00
$color_RGB = rand ( 180 , 200 );
while ( $i ++ <= 5000 )
{
imageSetPixel ( $img , rand ( 0 , 105 ), rand ( 0 , 24 ), 0x515151 );
}
2023-01-10 16:29:32 +00:00
//рисуем 2 линии
2022-06-06 21:30:34 +00:00
imageLine ( $img , rand ( 0 , 10 ), rand ( 0 , 50 ), rand ( 95 , 105 ), rand ( 0 , 26 ), 0x909090 );
imageLine ( $img , rand ( 0 , 10 ), rand ( 0 , 50 ), rand ( 95 , 105 ), rand ( 0 , 26 ), 0x909090 );
2023-01-10 16:29:32 +00:00
//рамка
2022-06-06 21:30:34 +00:00
imageRectangle ( $img , 0 , 0 , 105 , 24 , 0x343434 );
$fonts = array ( 'fonts/FRSCRIPT.ttf' , 'fonts/CHILLER.ttf' , 'fonts/Bradley Hand ITC.ttf' , 'fonts/de_Manu_2_Regular.ttf' , 'fonts/Edgar_da_cool_Regular.ttf' , 'fonts/Hurryup_Hurryup.ttf' , 'fonts/Fh_Script_Regular.ttf' , 'fonts/Gabo4_Gabo4.ttf' , 'fonts/JAMI_Regular.ttf' , 'fonts/Justy1_Regular.ttf' );
$font = '../' . $fonts [ rand ( 0 , sizeof ( $fonts ) - 1 )];
2023-01-10 16:29:32 +00:00
// выводим одну цифру за один проход цикла (всего 6 цифр)
2022-06-06 21:30:34 +00:00
$i = 1 ;
while ( $i ++ <= 4 )
{
2023-01-10 16:29:32 +00:00
// выводим текст поверх картинки
2022-06-06 21:30:34 +00:00
imagettftext ( $img , 15 , 0 , $x = $x + 25 , 20 ,
imagecolorallocate ( $img , $color_RGB , $color_RGB , $color_RGB ), $font , $rnd = rand ( 0 , 9 ));
2023-01-10 16:29:32 +00:00
// Собираем в одну строку все символы на картинке
2022-06-06 21:30:34 +00:00
$sum = $sum . ( string ) $rnd ;
}
2023-01-10 16:29:32 +00:00
//Н е забудьте $sum записать в таблицу как STR1
2022-06-06 21:30:34 +00:00
2023-01-10 16:29:32 +00:00
// выводим готовую картинку в формате PNG
2022-06-06 21:30:34 +00:00
imagepng ( $img );
2023-01-10 16:29:32 +00:00
// освобождаем память, выделенную для картинки
2022-06-06 21:30:34 +00:00
imagedestroy ( $img );
2023-01-10 16:29:32 +00:00
// Помещаем защитный код в сессию
2022-06-06 21:30:34 +00:00
$_SESSION [ 'code' ] = $sum ;
?>