2022-06-06 21:30:34 +00:00
|
|
|
|
<?php
|
2023-01-23 10:24:03 +00:00
|
|
|
|
|
|
|
|
|
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-23 10:24:03 +00:00
|
|
|
|
// заполняем фон картинки
|
|
|
|
|
imagefill($img, 0, 0, 0x616161);
|
|
|
|
|
$x = -20;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
$i = 1;
|
|
|
|
|
$sum = "";
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//цвет текста
|
2023-01-23 10:24:03 +00:00
|
|
|
|
$color_RGB = rand(180, 200);
|
|
|
|
|
while ($i++ <= 5000) {
|
|
|
|
|
imageSetPixel($img, rand(0, 105), rand(0, 24), 0x515151);
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//рисуем 2 линии
|
2023-01-23 10:24:03 +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);
|
2022-06-06 21:30:34 +00:00
|
|
|
|
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//рамка
|
2023-01-23 10:24:03 +00:00
|
|
|
|
imageRectangle($img, 0, 0, 105, 24, 0x343434);
|
2022-06-06 21:30:34 +00:00
|
|
|
|
|
2023-01-23 10:24:03 +00:00
|
|
|
|
$fonts = [
|
|
|
|
|
'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)];
|
2022-06-06 21:30:34 +00:00
|
|
|
|
|
2023-01-10 16:29:32 +00:00
|
|
|
|
// выводим одну цифру за один проход цикла (всего 6 цифр)
|
2022-06-06 21:30:34 +00:00
|
|
|
|
$i = 1;
|
2023-01-23 10:24:03 +00:00
|
|
|
|
while ($i++ <= 4) {
|
|
|
|
|
// выводим текст поверх картинки
|
|
|
|
|
imagettftext($img, 15, 0, $x = $x + 25, 20, imagecolorallocate($img, $color_RGB, $color_RGB, $color_RGB), $font, $rnd = mt_rand(0, 9));
|
|
|
|
|
// Собираем в одну строку все символы на картинке
|
|
|
|
|
$sum = $sum . $rnd;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//Не забудьте $sum записать в таблицу как STR1
|
2023-01-23 10:24:03 +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;
|