Вход Регистрация
Файл: 3020.ru/file_3020/_src/captcha.php
Строк: 35
<?
require '../_system/core.php';

$to = 1;
$do = 9;

for (
$i = 1; $i < $system['captcha_count']; $i++) {
  
$to .= 1;
  
$do .= 9; 
}

$text = mt_rand($to, $do);
$_SESSION['captcha'] = $text;

/* Создание нового объекта imagick */
$im = new Imagick();

/* Создание нового изображения. Будет использоваться как шаблон заливки */
$im->newPseudoImage(50, 50, 'gradient:' . $system['captcha_color1'] . '-' . $system['captcha_color2']);

//$im->rotateImage(new ImagickPixel(), $text);

/* Создаём объект imagickdraw */
$draw = new ImagickDraw();

/* Запускаем новый шаблон с названием "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Смешиваем градиент с шаблоном */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Закрываем шаблон */
$draw->popPattern();

/* Используем шаблон с названием "gradient" для заливки */
$draw->setFillPatternURL('#gradient');

/* Устанавливаем размер шрифта в 52 */
$draw->setFontSize($system['captcha_size']);

$draw->setGravity(Imagick::GRAVITY_CENTER);

/* Шрифт текста */
$draw->setFont(TOOLS . 'fonts/' . $system['captcha_font']);

/* Добавляем свой текст */
$draw->annotation(0, 0, $text);

/* Создаём новый объект холста и белое изображение */
$canvas = new Imagick();

$canvas->newImage($system['captcha_width'], $system['captcha_height'], $system['captcha_background']);

/* Рисуем ImagickDraw на холсте */
$canvas->drawImage($draw);

/* устанавливаем чёрную рамку шириной 1px вокруг изображения */
$canvas->borderImage($system['captcha_bordercolor'], 1, 1);

/* Устанавливаем формат PNG */
$canvas->setImageFormat('png');

/* Вывод изображения */
header("Content-Type: image/png");
echo 
$canvas;
exit;
?>
Онлайн: 2
Реклама