Вы не зарегистрированы? Нажмите здесь для регистрации.
Забыли пароль? Запросите новый здесь.
|
Вы должны авторизироваться, чтобы добавить сообщение.
|
|
|
Последние активные темы форума |
|
imageline
(PHP 3, PHP 4 , PHP 5) imageline -- Draw a line
Descriptionint imageline ( resource image, int x1, int y1, int x2, int y2, int color ) imageline() draws a line from
x1, y1 to
x2, y2 (top left is
0, 0) in image image of color color.
Пример 1. Drawing a thick line
<?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
);
}
?>
|
|
Смотрите также imagecreate() and
imagecolorallocate().
|
· Гостей: 2
· Пользователей: 0
· Всего пользователей: 453
· Новый пользователь: ZDA
|
|