2024年PHP开发者大会日本站

ImagickDraw::circle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::circle绘制一个圆圈

描述

public ImagickDraw::circle(
    float $ox,
    float $oy,
    float $px,
    float $py
): bool
警告

此函数目前未编写文档;仅提供其参数列表。

在图像上绘制一个圆圈。

参数

ox

原点x坐标

oy

原点y坐标

px

圆周x坐标

py

圆周y坐标

返回值

不返回值。

示例

示例 #1 ImagickDraw::circle() 示例

<?php
function circle($strokeColor, $fillColor, $backgroundColor, $originX, $originY, $endX, $endY) {

// 创建一个 ImagickDraw 对象进行绘制。
$draw = new \ImagickDraw();

$strokeColor = new \ImagickPixel($strokeColor);
$fillColor = new \ImagickPixel($fillColor);

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->circle($originX, $originY, $endX, $endY);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo
$imagick->getImageBlob();
}

?>

添加注释

用户贡献注释 1 条注释

10
SkepticaLee
10 年前
这里需要的四个值有点令人困惑。毕竟,圆是由三个值定义的:中心的 x、y 坐标和半径 r。

第四个值是冗余的,但必须给出,否则函数将失败。处理这种冗余的一种方法是

<?php
$draw
= new ImagickDraw ();
// 假设 $x 和 $y 是中心的坐标,$r 是半径:
$draw->circle ($x, $y, $x + $r, $y);
?>

还有许多与最后一个同义的操作,包括
<?php
$draw
->circle ($x, $y, $x, $y + $r);
$draw->circle ($x, $y, $x - $r, $y);
$draw->circle ($x, $y, $x, $y - $r);
// 等等。
?>

希望这有帮助。
To Top