PHP Conference Japan 2024

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 筆筆記

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