Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

01.02.2008, 17:05
|
|
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме: 3250478
Репутация:
999
|
|
GD+Php
Помогите сделать похожую капатчу...
http://87.242.75.183:58765/cp/code.php
У меня не получается сделать наклонные линии...
Покажите примером!
|
|
|

01.02.2008, 17:14
|
|
Постоянный
Регистрация: 20.12.2007
Сообщений: 577
Провел на форуме: 1636674
Репутация:
171
|
|
хм. бери фоновую картинку с линиями, и на нее накладывай циферки )
там так вроде и сделано
|
|
|

01.02.2008, 17:23
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
Сообщение от Pernat1y
хм. бери фоновую картинку с линиями, и на нее накладывай циферки )
там так вроде и сделано
Нет.Там сделанно не так.Во-первых линии над цифрами,во -вторых линии всегда по разному.По идее нужно идти циклом и рисовать линии у первой будет x,y=0 а у второй x1=x+10,y=max то есть x втрой будет дальше,что позволяет рисовать косые линии.Так же и остальные.
|
|
|

01.02.2008, 17:28
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
PHP код:
function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
/* this way it works well only for orthogonal lines
imagesetthickness($image, $thick);
return imageline($image, $x1, $y1, $x2, $y2, $color);
*/
if ($thick == 1) {
return imageline($image, $x1, $y1, $x2, $y2, $color);
}
$t = $thick / 2 - 0.5;
if ($x1 == $x2 || $y1 == $y2) {
return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
}
$k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
$a = $t / sqrt(1 + pow($k, 2));
$points = array(
round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
);
imagefilledpolygon($image, $points, 4, $color);
return imagepolygon($image, $points, 4, $color);
}
?>
© php.net
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|