Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Исправил, добавил комментерии.
Sham, уделите пожалуйста минутку и прочтите комментарии, я правильно формулирую текст, комментарии?

PHP код: Выделить весь код

<?php

class de_captcha {

    
// Объявляем свойства класса
    
public $captcha;
    
public $bg;
    
public $size;
    
public $color;
    
public $font;
    
    
// Конструктор класса de_captcha
    
function __construct($captcha$bg$size$color$font) {
        
$this->captcha $captcha;
        
$this->bg $bg;
        
$this->size $size;
        
$this->color $color;
        
$this->font $font;
    }

    
// Метод, который создает изображение
    
function generate_image() {
        
        
$im ImageCreateFromJPEG ($this->bg);
        
        
// Вычленяем из свойства color RGB
        
$color explode(","$this->color);
        
$color imagecolorallocate($imtrim($color[0]), trim($color[1]), trim($color[2]));
        
        
// Определяем размер текстового блока. Ширину и высоту.
        
$font_size imagettfbbox ($this->size $this->font $this->captcha);
        
$height abs($font_size[1]) + abs($font_size[7]);
        
$width    abs($font_size[0]) + abs($font_size[2]);
        
        
// Определяем размер всей каптчи, по заданому фону.
        
$imgwidth imagesx($im);
        
$imgheight imagesy($im);
        
        
// Координаты XY, в диапазоне которых будет появляться текстовый элемент
        
$x1 3;        $x2 $imgwidth-$width-2;
        
$y1 $height;    $y2 $imgheight-2;
        
        
$x rand($x1,$x2);
        
$y rand($y1,$y2);

        
// Накладываем текстовый блок на фон
        
imagettftext($im$this->size0$x$y$color$this->font$this->captcha);
        
        
// Выводим изображение в выходной поток браузера
        
imagejpeg($imNULL100);
        
// Освобождает память, занятую изображением
        
imagedestroy($im);
    }
}
?>

PHP код: Выделить весь код

<?php

header
("Content-type: image/jpeg");
session_start();

// Подключение файл класса
include '../lib/class.captcha.php';
$_SESSION['captcha'] = rand (100999);

// Создание объекта
$a = new de_captcha($_SESSION['captcha'], "captcha/captcha.jpg"12"83,115,174""captcha/advertmf.ttf");
// Подключаем метод
$a->generate_image();
?>

-------
Мой блог Web Development


Отправлено: 23:29, 10-02-2010 | #11