imageline
(PHP 4, PHP 5, PHP 7)
imageline - 画一条线
描述
bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
在两个给定点之间绘制一条线。
参数
`image`
一个图像资源,由图像创建函数之一返回,如imagecreatetruecolor()。
x1
第一点的x坐标。
y1
第一点的y坐标。
x2
第二点的x坐标。
y2
第二点的y坐标。
color
线条颜色。使用imagecolorallocate()创建的颜色标识符。
返回值
返回TRUE
成功或失败时返回FALSE
。
例子
Example #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);
}
?>
← imagelayereffect
imageloadfont →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com