01
$width
= 100;
//Ширина изображения
02
$height
= 60;
//Высота изображения
03
$font_size
= 16;
//Размер шрифта
04
$let_amount
= 4;
//Количество символов, которые нужно набрать
05
$fon_let_amount
= 30;
//Количество символов на фоне
06
$font
=
"fonts/cour.ttf"
;
//Путь к шрифту
07
08
//набор символов
09
$letters
=
array
(
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
);
10
//цвета
11
$colors
=
array
(
"90"
,
"110"
,
"130"
,
"150"
,
"170"
,
"190"
,
"210"
);
12
13
$src
= imagecreatetruecolor(
$width
,
$height
);
//создаем изображение
14
$fon
= imagecolorallocate(
$src
,255,255,255);
//создаем фон
15
imagefill(
$src
,0,0,
$fon
);
//заливаем изображение фоном
16
17
for
(
$i
=0;
$i
<
$fon_let_amount
;
$i
++)
//добавляем на фон буковки
18
{
19
//случайный цвет
20
$color
= imagecolorallocatealpha(
$src
,rand(0,255),rand(0,255),rand(0,255),100);
21
//случайный символ
22
$letter
=
$letters
[rand(0,sizeof(
$letters
)-1)];
23
//случайный размер
24
$size
= rand(
$font_size
-2,
$font_size
+2);
25
imagettftext(
$src
,
$size
,rand(0,45),
26
rand(
$width
*0.1,
$width
-
$width
*0.1),
27
rand(
$height
*0.2,
$height
),
$color
,
$font
,
$letter
);
28
}
29
30
for
(
$i
=0;
$i
<
$let_amount
;
$i
++)
//то же самое для основных букв
31
{
32
$color
= imagecolorallocatealpha(
$src
,
$colors
[rand(0,sizeof(
$colors
)-1)],
33
$colors
[rand(0,sizeof(
$colors
)-1)],
34
$colors
[rand(0,sizeof(
$colors
)-1)],rand(20,40));
35
$letter
=
$letters
[rand(0,sizeof(
$letters
)-1)];
36
$size
= rand(
$font_size
*2-2,
$font_size
*2+2);
37
$x
= (
$i
+1)*
$font_size
+ rand(1,5);
//даем каждому символу случайное смещение
38
$y
= ((
$height
*2)/3) + rand(0,5);
39
$cod
[] =
$letter
;
//запоминаем код
40
imagettftext(
$src
,
$size
,rand(0,15),
$x
,
$y
,
$color
,
$font
,
$letter
);
41
}
42
43
$cod
= implode(
""
,
$cod
);
//переводим код в строку
44
45
header (
"Content-type: image/gif"
);
//выводим готовую картинку
46
imagegif(
$src
);