Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> капча, искажение символов
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


Привет всем! Просьба: просветите меня, каким макаром делается "геометрическое искажение" символов в изображении капчи. Если можно, приведите небольшой примерчик кода (искажения, а не капчи)...

Присоединённое изображение
Присоединённое изображение


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Lenarfate  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









да хотя бы вот так, рандомом

imagettftext($im, $size, rand(0, 45), rand($width * 0.1, $width - $width * 0.1),
rand($height * 0.2 , $height), $color, $font, $letter);

    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


Lenarfate
Это понятно, я имею ввиду как бы искривление символов (как в кривом зеркале)... Вот как например у тебя надпись на аватаре


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Lenarfate  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









ну с помошью той же gd. у этой библиотекм полно функций
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


Lenarfate
искал подходящие для этих целей функции, но не нашел (английский знаю плоховато, поэтому в мануал не суюсь) sad.gif ... Приведи пример, если можешь


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Lenarfate  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









могу дать капчу, которой сам пользуюсь. там посмотришь код
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


Lenarfate
Давай, очень интересно взглянуть


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Lenarfate  
[x] Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









<?php

session_start();


$width = 100;
$height = 40;
$font_size = 12;
$let_amount = 5;
$back_let_amount = 30;
$path_fonts = 'fonts/';

$letters = array(
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'm',
'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
'z', '2', '3', '4', '5', '6', '7', '9'
);

$colors = array('10', '30', '50', '70', '90', '110',
'130', '150', '170', '190', '210'
);


$im = imagecreatetruecolor($width, $height);
$back = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $back);


$fonts = array();
$dir = opendir($path_fonts);

while($font_name = readdir($dir))
{
if($font_name !='.' && $font_name != '..')
$fonts[] = $font_name;
}

closedir($dir);


for($i = 0; $i < $back_let_amount; $i++)
{
$color = imagecolorallocatealpha($im, rand(0, 255), rand(0, 255), rand(0, 255), 100);

$font = $path_fonts . $fonts[rand(0, sizeof($fonts) - 1)];
$letter = $letters[rand(0, sizeof($letters) - 1)];
$size = rand($font_size - 2, $font_size + 2);

imagettftext($im, $size, rand(0, 45), rand($width * 0.1, $width - $width * 0.1),
rand($height * 0.2 , $height), $color, $font, $letter);
}

for($i = 0; $i < $let_amount; $i++)
{
$color = imagecolorallocatealpha($im, $colors[rand(0, sizeof($colors) - 1)],
$colors[rand(0, sizeof($colors) - 1)],
$colors[rand(0, sizeof($colors) - 1)], rand(20, 40));

$font = $path_fonts . $fonts[rand(0, sizeof($fonts) - 1)];
$letter = $letters[rand(0, sizeof($letters) - 1)];
$size = rand($font_size * 2.1 - 2, $font_size * 2.1 + 2);
$x = ($i + 1) * $font_size + rand(4, 7);
$y = (($height * 2) / 3) + rand(0, 5);
$code[] = $letter;

imagettftext($im, $size, rand(0, 15), $x, $y, $color, $font, $letter);
}


$_SESSION['captcha'] = implode('', $code);

header('Content-type: image/gif');
imagegif($im);
imagedestroy($im);


подключается в обычный <img />

проверяется так
if($_SESSION['captcha'] !== strtolower($_POST['captcha']))
print 'капча неверная'
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


Lenarfate
прикольно, но искривления я, к сожалению, так и не увидел...


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Lenarfate  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









там, где задается текст, пропиши рандом побольше.

Цитата
imagettftext (resource image, int size, int angle, int x, int y, int color, string fontfile, string text)


int angle - вот этот угол тебе и нужен
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


Lenarfate
int angle - это наклон букв, а я имею ввиду немного другое - искривление самой буквы. Вот еще один пример, чтоб было понятней:

Присоединённое изображение
Присоединённое изображение


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DedMorozzz  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Эникейщик
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 4054
Пользователь №: 19498
На форуме: 7 лет, 6 месяцев, 28 дней
Карма: 90




Держи более изящную:

Присоединённый файл ( Кол-во скачиваний: 22 )
Присоединённый файл  3dcaptcha.zip


--------------------
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DedMorozzz  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Эникейщик
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 4054
Пользователь №: 19498
На форуме: 7 лет, 6 месяцев, 28 дней
Карма: 90




Вот пример:

Присоединённое изображение
Присоединённое изображение


--------------------
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
PMПисьмо на e-mail пользователюСайт пользователяICQ
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


DedMorozzz
класс! спасибо, буду разбираться! Кстати, токо догадался зайти собственно на сайт captcha.ru - там рчень подробно все описывается.. biggrin.gif


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 435

Трезвый :
7 лет, 9 месяцев


DedMorozzz
как ты думаешь, а она надежная вообще, эта 3DCaptcha? Я тут решил ее немного модифицировать ее, шрифт чтоб рандомился... Насколько это целесообразно?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса