首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

imageline

(PHP 4, PHP 5, PHP 7)

imageline - 画一条线

描述

代码语言:javascript
复制
bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

在两个给定点之间绘制一条线。

参数

代码语言:txt
复制
`image`   

一个图像资源,由图像创建函数之一返回,如imagecreatetruecolor()。

x1

第一点的x坐标。

y1

第一点的y坐标。

x2

第二点的x坐标。

y2

第二点的y坐标。

color

线条颜色。使用imagecolorallocate()创建的颜色标识符。

返回值

返回TRUE成功或失败时返回FALSE

例子

Example #1 Drawing a thick line

代码语言:javascript
复制
<?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 →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com