48 lines
1.3 KiB
PHP
48 lines
1.3 KiB
PHP
<?php
|
|
header("Content-type: image/png");
|
|
// ñîçäàåì êàðòèíêó ðàçìåðîì 172X52
|
|
$img = imagecreatetruecolor(70, 20) or die('Cannot create image');
|
|
$orange = imageColorAllocate($img, 255, 128, 64);
|
|
// çàïîëíÿåì ôîí êàðòèíêè
|
|
imagefill($img, 0, 0, 0x616161);
|
|
$x=0;
|
|
$i = 1;
|
|
$sum = "";
|
|
//öâåò òåêñòà
|
|
$color_RGB = rand(180,200);
|
|
while ($i++ <=5000)
|
|
{
|
|
imageSetPixel($img, rand(0,170), rand(0,50),0x515151);
|
|
}
|
|
|
|
//ðèñóåì 2 ëèíèè
|
|
imageLine($img, rand(0,10), rand(0,50), rand(110,170), rand(0,50), 0x909090);
|
|
imageLine($img, rand(0,10), rand(0,50), rand(110,170), rand(0,50), 0x909090);
|
|
|
|
//ðàìêà
|
|
imageRectangle($img,0,0,170,50,0x343434);
|
|
|
|
$fonts = array ('fonts/CHILLER.ttf');
|
|
$font = '../'.$fonts[rand(0, sizeof($fonts)-1)];
|
|
|
|
// âûâîäèì îäíó öèôðó çà îäèí ïðîõîä öèêëà (âñåãî 6 öèôð)
|
|
$i = 1;
|
|
while ($i++ <= 5)
|
|
{
|
|
// âûâîäèì òåêñò ïîâåðõ êàðòèíêè
|
|
imagettftext($img, rand(18,18), 0, $x=$x+10, 16+rand(0,4),
|
|
imagecolorallocate($img, $color_RGB,$color_RGB,$color_RGB), $font, $rnd = rand(0,9));
|
|
// Ñîáèðàåì â îäíó ñòðîêó âñå ñèìâîëû íà êàðòèíêå
|
|
$sum = $sum.(string)$rnd;
|
|
}
|
|
|
|
|
|
//Íå çàáóäüòå $sum çàïèñàòü â òàáëèöó êàê STR1
|
|
|
|
// âûâîäèì ãîòîâóþ êàðòèíêó â ôîðìàòå PNG
|
|
imagepng($img);
|
|
// îñâîáîæäàåì ïàìÿòü, âûäåëåííóþ äëÿ êàðòèíêè
|
|
imagedestroy($img);
|
|
// Ïîìåùàåì çàùèòíûé êîä â ñåññèþ
|
|
$_SESSION['code'] = $sum;
|
|
?>
|