Как сделать картинку с защитным кодом (CAPTCHA)
  

Как сделать картинку с защитным кодом (CAPTCHA)30.10.2008 00:00

Код для создания картинки с кодом защиты:

 

$img = ImageCreateFromPng('pattern.png');

$color = ImageColorAllocate($img,0x66,0x66,0x66);

$rand=rand(11111,99999);

ImageTTFText($img,24,0,30,30,$color,'arial',$rand);

Header('Content-Type: image/png');
Imagepng($img);

 Где:

'pattern.png' - создать заранее картинку. У меня здесь- 150х40 PNG-24

0x66,0x66,0x66 - цвет #666666, тоесть можно любой цвет, какой в голову взбредет. Но мне кажется, что такой цвет должен быть в PNG, хотя я не видел подобного эффекта.

rand(11111,99999) -  число 5-значное, случайное.

ImageTTFText($img,24,0,30,30,$color,'arial',$rand); -  24- размер букв. В зависимости от версии GD может быть в пикселях, может в p; 0 - угол. Тоесть можно написать и не ровно, а под углом, к примеру, 5 градусов; 30, 30 - X и Y старта текста; 'arial'- шриф; $rand- текст. 

Как тестировать: код запишите  в файл image.php, создайте файл php или html, и формируйте  картинку при помощи кода: <img src="image.php">

Сам код нужно записать в БД, а номер строки - в скытое поле формы, при обработке формы проверьте код. 

arial.ttf необходимо записать в корень сайта.

 

 

 

 

 

<<< Хорошая программа для просмотра и обработки изображений - FastStone Image Viewer
Хорошая программа для просмотра и обработки изображений - FastStone Image Viewer
Как перевести дату в формате UNIX в обычный формат >>>
Как перевести дату в формате UNIX в обычный формат